【发布时间】:2016-10-11 14:24:15
【问题描述】:
我有以下代码,由于某种原因,文件的结尾永远不会到达,所以 while 循环永远不会结束。
public class Temp {
FileReader fr;
Temp() {
try {
fr = new FileReader("File path");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Temp ob = new Temp();
try {
char c;
while ((c = (char) ob.fr.read()) != -1) {
System.out.println(c);
}
ob.fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
谁能帮我解决这个问题!?在此先感谢:)
【问题讨论】:
-
这太糟糕了,你从哪里得到的?你想做什么,有人会为你指出一个更好的参考,因为这是不应该使用的java。
-
@matt 我刚刚重新访问了文件阅读器主题。我忘记了基础知识。 ;)
-
因此,由于缺少字符编码,我们强烈建议不要使用 FileReader。更好的选择是使用Files.newBufferedReader。您应该使用的下一件事是ARM。我的意思不是太消极,但是当你刚刚开始这个程序时,最好看看使用当前正确的技术。干杯。
标签: java file infinite-loop filereader eof