gpt4 book ai didi

Java BufferedReader 回到文本文件的顶部?

转载 作者:IT老高 更新时间:2023-10-28 21:17:47 26 4
gpt4 key购买 nike

我目前在同一个文本文件上初始化了 2 个 BufferedReader。当我用第一个 BufferedReader 读完文本文件后,我使用第二个从顶部再通过文件。需要多次通过同一个文件。

我知道 reset(),但是需要在调用 mark()mark() 之前知道文件的大小,我认为我不应该打扰。

想法?包裹?库?代码?

谢谢TJ

最佳答案

缓冲读取器旨在按顺序读取文件。您正在寻找的是 java.io.RandomAccessFile ,然后您可以使用 seek() 将您带到文件中所需的位置。

随机存取阅读器是这样实现的:

try{
String fileName = "c:/myraffile.txt";
File file = new File(fileName);
RandomAccessFile raf = new RandomAccessFile(file, "rw");
raf.readChar();
raf.seek(0);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

"rw" 是一个模式字符,它是 detailed here .

这样设置顺序存取读取器的原因是,它们可以实现其缓冲区,并且不能在其脚下进行更改。例如,提供给缓冲阅读器的文件阅读器只能由该缓冲阅读器操作。如果有另一个可能影响它的位置,您可能会出现不一致的操作,因为一个阅读器在文件阅读器中提升了它的位置,而另一个阅读器希望它保持不变,现在您使用另一个阅读器并且它位于未确定的位置。

关于Java BufferedReader 回到文本文件的顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/262618/

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