java.io.FileInputStream,找不到源

时间:2017-05-13 13:00:39

标签: java eclipse

这是Thinking In Java的一个例子,但是我无法运行它。

package test;

import java.io.*;

public class Testa {
    public static String read(String filename) throws IOException{
        BufferedReader in = new BufferedReader(new FileReader(filename));
        String s;
        StringBuilder sb = new StringBuilder();
        while((s = in.readLine()) != null){
            sb.append(s + "\n");
        }
        in.close();
        return sb.toString();
    }

    public static void main(String [] args) throws IOException{
        System.out.println(read("Testa.java"));
    }
}

当我调试时,Eclipse显示“找不到源”enter image description here

我是新生并且不知道。我在网上搜索了很长时间。但没用。请帮助或尝试提供一些如何实现这一点的想法。你能帮我吗?

1 个答案:

答案 0 :(得分:1)

这不是错误,Eclipse只是告诉你它没有FileReader libary类的源代码。您不需要源代码来运行您的程序。如果安装JDK而不是JRE,Eclipse将能够找到此库类的源代码,因为JDK包含库类的源代码。

看起来你真正得到的是FileNotFoundException,这意味着你的文件不存在,至少不在你告诉程序看的地方。

用于读取文件的文件路径仅为"Testa.java"。这意味着Java将在“当前目录”中查找Testa.java。当您运行程序时,当前目录包含程序源代码的目录,因此这不起作用,您将获得异常。

解决此问题的一种方法是指定要读取的文件的完整路径,在Windows上,这将类似于"C:\\path\\to\\workspace\\project\\src\\Testa.java"