在使用FileReader的java中这段代码出了什么问题?

时间:2016-04-21 21:00:59

标签: java file-io filereader

我一直在努力了解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)

1 个答案:

答案 0 :(得分:3)

因为无法找到该文件。你应该做的是获取java寻找文件的路径,如此。

System.out.print(System.getProperty("user.dir"));

然后将“input.txt”放在该目录中(运行该代码时打印的目录)。

或者,使用input.txt的完整绝对路径