我正在使用Eclipse并且处于学习Java的早期阶段
忙着学习如何从txt文件中读取数据,但在我的生命中不能让Java读取我的源文件
这是我的代码
import java.io.FileReader; import java.util.Scanner;
public class MagellanSchoolQ2Coursework2 {
public static void main(String[] args) { Scanner detailsIn =new Scanner(new FileReader("c:\\s.txt")); detailsIn.close(); }
}
文本文件位于我的C盘的根目录中但由于某种原因我得到了FileNotFoundException
有谁知道为什么这不起作用
答案 0 :(得分:1)
您必须使用try/catch
包围方法,或在方法中添加throws
子句。
E.g。
import java.io.FileReader;
import java.util.Scanner;
public class MagellanSchoolQ2Coursework2 {
public static void main(String[] args) {
try {
Scanner detailsIn =new Scanner(new FileReader("c:\\s.txt"));
detailsIn.close();
} catch (FileNotFoundException e) {
System.out.println("file not found: s.txt");
}
}
}
答案 1 :(得分:0)
实际上你用来创建FileReader实例的构造函数,它的签名如下所示
public FileReader(String fileName)抛出FileNotFoundException
在给定要读取的文件名的情况下,创建一个新的FileReader。
参数:fileName - 要从
中读取的文件的名称抛出:FileNotFoundException - 如果指定的文件不存在,则是目录而不是常规文件,或者由于某些其他原因无法打开进行读取。
由于此方法抛出" FileNotFoundException"它应该使用try和catch块来处理(或者)主方法应该抛出上面的异常,这个异常将在运行时由JVM处理。如果你是EXCEPTIONS的新手,首先要更好地研究那个主题,然后尝试学习I / O流强>
答案 2 :(得分:0)
我认为这是一个操作系统问题。因为我在Linux中使用这个表单:" c:\ s.txt",但是在Windows中我使用它有点不同的版本:" c:\ s.txt"我们来试试吧! :)
答案 3 :(得分:0)