gpt4 book ai didi

Java BufferedReader 到字符串数组

转载 作者:行者123 更新时间:2023-12-01 06:32:14 24 4
gpt4 key购买 nike

我在 stackoverflow 上浏览了很多不同的主题,但到目前为止找不到任何有用的东西:/

所以这是我的问题。我正在写一个文件复印机。读取文件时已经出现问题。我的测试文档有 3 行随机文本。所有这 3 行都应该写入一个字符串数组中。问题是只有文本文档的第二行被写入数组中,我不明白为什么。已经调试过了,但没有让我进一步。

我知道对于具有不同类等的文件复制器有不同的解决方案。但我真的很想让它与我在这里使用的类一起运行。

    String[] array = new String[5];
String datei = "test.txt";
public String[] readfile() throws FileNotFoundException {
FileReader fr = new FileReader(datei);
BufferedReader bf = new BufferedReader(fr);
try {
int i=0;
//String Zeile = bf.readLine();
while(bf.readLine() != null){
array[i] = bf.readLine();
// System.out.println(array[i]); This line is for testing
i++;
}
bf.close();

} catch (IOException e) {
e.printStackTrace();
}
return array;

最佳答案

对于循环的每次迭代,您都会调用 readLine() 两次,从而丢弃所有其他行。您需要捕获每次调用readLine()返回的值,因为每次readLine()调用都会提升读取器在文件中的位置。

这是idiomatic解决办法:

String line;
while((line = bf.readLine()) != null){
array[i] = line;
i++;
}

关于Java BufferedReader 到字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25370256/

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