从文本文件中的字节偏移确定行号

时间:2012-11-28 16:15:45

标签: java io

我目前有一个场景,我知道文本文件的字节偏移量。我想知道无论如何我可以从字节偏移中确定行号。文本文件中的记录不是固定长度,在这种情况下,我会将偏移量除以宽度。

2 个答案:

答案 0 :(得分:3)

除非所有行都是统一长度,否则无法从字节偏移确定行号。但是,您可以扫描换行符并跟踪它们以计算文件中的偏移量。

答案 1 :(得分:0)

你可以这样做;

String fullTextFile = loadTextFile();
String section = fullTextFile.substring(0, byteOffset);
String reduced = section.replaceAll("[^\n]*","");
int lineNumber = reduced.length();

我不完全确定正则表达式是多么合法,但它不需要太多调整。