gpt4 book ai didi

java - 使用 RandomAccessFile 到达文件中的特定行

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:21:05 25 4
gpt4 key购买 nike

是否可以通过 RandomAccessFile 将光标定位到文件中特定行的开头?

例如我想更改文件中第 111 行中从 char 10 开始到 20 的字符串。该文件具有固定长度的记录。

是否可以使用 RandomAccessFile 将光标直接定位到第 111 行的开头?

更新:

我使用了以下代码。但是,它返回 null。

行长200个字符(如果我没记错的话是200字节)

File f = new File(myFile); 
RandomAccessFile r = new RandomAccessFile(f,"rw");
r.skipBytes(200 * 99); // linesize * (lineNum - 1)
System.out.println(r.readLine());

我哪里错了?

最佳答案

我不确定,但 RandomAccessFile 似乎不支持此类功能。由于 RAF 使用字节操作,我们可以跳过特定数量的字节,如果您的文件具有固定的行宽,这可以通过以下方式实现

file.skipBytes(110 * lineSizeInBytes);

否则,你需要这样的东西:

for (int i = 0; i < 110; i++) file.readLine();
String line = file.readLine();

关于java - 使用 RandomAccessFile 到达文件中的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9769874/

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