这是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显示“找不到源”
我是新生并且不知道。我在网上搜索了很长时间。但没用。请帮助或尝试提供一些如何实现这一点的想法。你能帮我吗?
答案 0 :(得分:1)
这不是错误,Eclipse只是告诉你它没有FileReader
libary类的源代码。您不需要源代码来运行您的程序。如果安装JDK而不是JRE,Eclipse将能够找到此库类的源代码,因为JDK包含库类的源代码。
看起来你真正得到的是FileNotFoundException
,这意味着你的文件不存在,至少不在你告诉程序看的地方。
用于读取文件的文件路径仅为"Testa.java"
。这意味着Java将在“当前目录”中查找Testa.java
。当您运行程序时,当前目录不包含程序源代码的目录,因此这不起作用,您将获得异常。
解决此问题的一种方法是指定要读取的文件的完整路径,在Windows上,这将类似于"C:\\path\\to\\workspace\\project\\src\\Testa.java"