package fbread;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Read {
public static void main(String[] args) {
File file = new File("text.txt");
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
} catch (FileNotFoundException e) {
System.out.println("File not found: " + file);
} catch (IOException e) {
System.out.println("Unable to read file: " + file);
}
}
}
所以我在Eclipse中有这个代码,在我看来是100%正确,但是,当我运行它时,Eclipse中会弹出一个错误(灰色方块,红叉,没有消息)并且没有显示在控制台。
任何人都知道为什么会这样?
我还附上了以下错误的图片:
答案 0 :(得分:0)
我只是运行你的代码,我没有错误。我正在使用eclipse Luna。我做的唯一更改是我将类包装在一个具有不同名称的包中,另外我使用绝对路径来定义要打开的文件。 IDE在运行时很可能出现问题,但使用绝对目录设置文件总是一个好主意。
希望这有帮助!我附上了代码......
package soproblem;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Read {
public static void main(String[] args) {
File file = new File("C:\\Users\\user\\Desktop\\file.txt");
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
} catch (FileNotFoundException e) {
System.out.println("File not found: " + file);
} catch (IOException e) {
System.out.println("Unable to read file: " + file);
}
}
}
答案 1 :(得分:0)
简短的回答:在Java 8中,FileReader
或BufferedReader
没问题。
问题……显然是因为您的IDE处于一种奇怪的状态,该状态已通过重新启动得以解决。
对于其他认为自己可能在某些常见的Java SE类中遇到问题的人来说,发生此问题的可能性大于99.99%,而不是Java中的问题。真正的问题很可能是以下问题之一:
由于粗心,经验不足,误解您正在使用的某些类/方法,做出错误的假设等导致的代码错误。
第三方语言的错误。
IDE行为异常(如果在IDE中运行代码)。 (尝试从命令行运行您的应用程序。)
Java或IDE安装损坏。
是的,在JVM和Java SE库中偶尔发现了新的错误。但这很少见,因此应该首先考虑所有其他可能性。因为“它是Java错误!” 错误诊断将停止寻找问题的真正原因。
请记住,还有数百万其他使用Java SE的程序员却没有遇到这些“错误”。 Java 8于6年前发布。对于已经发现并修复的最隐蔽的错误,这已经足够长了。
答案 2 :(得分:-1)
您可以使用以下代码来简化您的代码:
package BufferedReader;
import java.io.*;
public class Buffered {
public static void main(String[] args)throws IOException {
BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\user\\Desktop\\filename.txt"));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
}
}