使用 FileReader 和 Scanner 读取文件
Reading a file using FileReader and Scanner
我是一个 Java 初学者并且读过类似的问题,但我仍然不明白为什么我的代码显示 FileNotFound 异常。
我的文件在同一目录中。
我的代码是:
import java.io.*;
import java.util.Scanner;
public class reader {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt();
double y = in.nextDouble();
float g = in.nextFloat();
String a = in.next();
File file = new File("v.txt");
System.out.println(x + "" + y + "" + g + "" + a);
Scanner inFile = new Scanner(new FileReader(file));
String u = inFile.nextLine();
System.out.println(file.getAbsolutePath());
System.out.println(u);
}
}
错误是:
17: error: unreported exception FileNotFoundException; must be caught or declared to be thrown
Scanner inFile = new Scanner(new FileReader(file));
^
1 error
您遇到编译时错误:
error: unreported exception FileNotFoundException; must be caught or declared to be thrown
Scanner inFile = new Scanner(new FileReader(file));
这是一种简单的修复方法:
public class reader {
public static void main(String[] args) throws Exception {
//...
}
}
虽然使用 try {...} catch(...){ } 是处理可能的 运行 时间异常的更好方法。
我是一个 Java 初学者并且读过类似的问题,但我仍然不明白为什么我的代码显示 FileNotFound 异常。 我的文件在同一目录中。
我的代码是:
import java.io.*;
import java.util.Scanner;
public class reader {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt();
double y = in.nextDouble();
float g = in.nextFloat();
String a = in.next();
File file = new File("v.txt");
System.out.println(x + "" + y + "" + g + "" + a);
Scanner inFile = new Scanner(new FileReader(file));
String u = inFile.nextLine();
System.out.println(file.getAbsolutePath());
System.out.println(u);
}
}
错误是:
17: error: unreported exception FileNotFoundException; must be caught or declared to be thrown
Scanner inFile = new Scanner(new FileReader(file));
^
1 error
您遇到编译时错误:
error: unreported exception FileNotFoundException; must be caught or declared to be thrown
Scanner inFile = new Scanner(new FileReader(file));
这是一种简单的修复方法:
public class reader {
public static void main(String[] args) throws Exception {
//...
}
}
虽然使用 try {...} catch(...){ } 是处理可能的 运行 时间异常的更好方法。