gpt4 book ai didi

Java,FileReader()似乎只读取文本文档的第一行?

转载 作者:行者123 更新时间:2023-12-01 20:51:19 26 4
gpt4 key购买 nike

我仍在学习过程中,如果我有误解,请纠正我,但 FileReader 对象不应该返回文本文件的全部内容吗?

我这里有一段代码,我简单地尝试获取一个短.txt文件的内容,并使用system.out.println()打印它

public class Main {

public static void main(String[] args) throws FileNotFoundException, IOException {

File testDoc = new File("C:\\Users\\Te\\Documents\\TestDocument.txt");
BufferedReader reader = new BufferedReader(new FileReader(testDoc));
Scanner in = new Scanner(new FileReader(testDoc));


try {
System.out.println(reader.readLine());
} finally {
reader.close();
}
}
}

.txt 文件仅包含 3 行,格式如下:

some text here, more text and stuff
new estonian lessons
word = new word

但是该程序仅打印文件中的第一行。

some text here, more text and stuff

造成这种情况的原因是什么?如何纠正?

我尝试阅读文档,并在 Stackoverflow 中搜索,但未能找到此问题的解决方案。

最佳答案

BufferedReader 's (look here ) readLine() 从文件中读取一行,因此您需要编写一个循环,如下所示:

String line = "";
while((line =reader.readLine()) != null) {
System.out.println(line);
}

此外,您的代码中不需要 Scanner 对象(如果您使用 BufferedReader),因此它会简单如下所示:

        File testDoc = new File("C:\\Users\\Te\\Documents\\TestDocument.txt");
BufferedReader reader = new BufferedReader(new FileReader(testDoc));
try {
String line = "";
while((line =reader.readLine()) != null) {
System.out.println(line);
}
} finally {
reader.close();
}

关于Java,FileReader()似乎只读取文本文档的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com