【发布时间】:2012-11-28 16:15:44
【问题描述】:
我目前有一种情况,我知道文本文件的字节偏移量。我想知道无论如何我可以从字节偏移量中确定行号。文本文件中的记录不是固定长度的,在这种情况下,我会将偏移量除以宽度。
【问题讨论】:
我目前有一种情况,我知道文本文件的字节偏移量。我想知道无论如何我可以从字节偏移量中确定行号。文本文件中的记录不是固定长度的,在这种情况下,我会将偏移量除以宽度。
【问题讨论】:
除非所有行的长度一致,否则无法从字节偏移量确定行号。但是,您可以扫描换行符并跟踪它们以计算文件中的偏移量。
【讨论】:
你可以这样做;
String fullTextFile = loadTextFile();
String section = fullTextFile.substring(0, byteOffset);
String reduced = section.replaceAll("[^\n]*","");
int lineNumber = reduced.length();
我不完全确定该正则表达式是否合法,但它不需要太多调整。
【讨论】:
Reader 和readLine() 直到你达到字节偏移量,一边计算行数。