【发布时间】:2016-04-21 21:00:58
【问题描述】:
我一直在尝试了解FileReader,因此想对其进行测试。我创建了一个类,它的构造函数接受一个字符串(文件名)并创建一个文件,然后从中读取,然后将第一个字符打印出来,但我的代码不起作用并显示错误。这是我的java代码。
package test_3;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Files {
public Files(String s) throws FileNotFoundException, IOException{
File f = new File(s);
FileReader fr = new FileReader(f);
System.out.println(fr.read());
}
public static void main(String args[]) throws FileNotFoundException, IOException{
Files myFile = new Files("input.txt");
}
}
这是错误信息
Exception in thread "main" java.io.FileNotFoundException: input.txt (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at test_3.Files.<init>(Files.java:11)
at test_3.Files.main(Files.java:16)
【问题讨论】:
-
系统找不到指定的文件。因此文件
"input.txt"与类Files不在同一目录中。文件在哪里? -
另外:当它起作用时,你会想在使用它后关闭
fr- 你可能会发现System.out.println(fr.read());的输出不是你所期望的(它会是一个整数,而不是一个字符)。 -
@Tunaki 类 Files 所在目录与此无关。
-
@Kainix 我试过了,但在问题发布后的前 10 分钟我做不到。
标签: java file-io filereader