how do i declare a scanner object, filescan publicly so that i may use filescan in varios functions

i found this statement in a forum---->
private static Scanner scanner = new Scanner (1 3 4 4");

when I modified it to----->
public static Scanner filescan = new Scanner(new File("inputdata.txt"));

//declared in the main

i get the following error message
Illegal modifier for parameter scanner; only final is permitted

Thank you guys

Make it a class level variable - not a public static member.

Yes ..
it has to be simply

Scanner filescan = new Scanner(new File("inputdata.txt"));


Scanner is from - java.util.Scanner

A simple text scanner which can parse primitive types and strings using regular expressions.

A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace. The resulting tokens may then be converted into values of different types using the various next methods.

For example, this code allows a user to read a number from

Scanner sc = new Scanner(;
int i = sc.nextInt();

public class praogram1 
Scanner scanner  = new Scanner (new File ("t.txt"));
     public static void main(String[] args)
} tryin to define it at the class level and i run into this issue now. How do i throw an IOException at this level

Default constructor cannot handle exception type FileNotFoundException thrown by implicit super constructor. Must define an explicit constructor

public class Program1 {

    Scanner scanner = null;
    public Program1(){
        try {
            scanner = new Scanner(new File("t.txt"));
        } catch (FileNotFoundException fe){

    public static void main(String[] args) {