我目前有一个场景,我知道文本文件的字节偏移量。我想知道无论如何我可以从字节偏移中确定行号。文本文件中的记录不是固定长度,在这种情况下,我会将偏移量除以宽度。
答案 0 :(得分:3)
除非所有行都是统一长度,否则无法从字节偏移确定行号。但是,您可以扫描换行符并跟踪它们以计算文件中的偏移量。
答案 1 :(得分:0)
你可以这样做;
String fullTextFile = loadTextFile();
String section = fullTextFile.substring(0, byteOffset);
String reduced = section.replaceAll("[^\n]*","");
int lineNumber = reduced.length();
我不完全确定正则表达式是多么合法,但它不需要太多调整。