有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java RandomAccessFile返回空字符串

我有一个固定格式的文件

我想根据行号访问此文件中的特定行

例如,阅读第100行

每行的长度是200字节

因此,使用RandomAccessFile直接将光标移动到第100行将如下所示:

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

然而,我得到的输出是空的

我错过了什么

这个问题是对我上一个问题Reaching a specific line in a file using RandomAccessFile的继续回答

更新:

下面的程序完全符合我的预期:

行大小为200个字符

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

给出行号(整个文件中的任何行号)就是打印该行

@EJP:请解释一下


共 (0) 个答案