从行号和列号获取字符偏移量的现有Java库?

从行号和列号获取字符偏移量的现有Java库?,java,Java,我正在编写一个Java应用程序,它需要以字节为单位获取字符偏移量,给定纯文本中的行号和列号。我想知道是否有现成的库可以这样做,因为我不想重新发明轮子 谢谢 具有跳过n个字节的方法。如果要跳过固定大小的行,始终可以计算要跳过的字节数。否则,您需要在BufferedReader上执行falsenextLine,以字节为单位的字符偏移量是一个非常奇怪的问题。您想要字符还是字节?这是一个编码问题。对于UTF-8,它甚至因不同的字符而不同(对于a它是一个字节,对于a2个字节)。当您只使用ASCII时,您是

我正在编写一个Java应用程序,它需要以字节为单位获取字符偏移量,给定纯文本中的行号和列号。我想知道是否有现成的库可以这样做,因为我不想重新发明轮子

谢谢

具有跳过n个字节的方法。如果要跳过固定大小的行,始终可以计算要跳过的字节数。否则,您需要在
BufferedReader

上执行false
nextLine
,以字节为单位的字符偏移量是一个非常奇怪的问题。您想要字符还是字节?这是一个编码问题。对于UTF-8,它甚至因不同的字符而不同(对于
a
它是一个字节,对于
a
2个字节)。当您只使用ASCII时,您是安全的,但您并没有这样说


如果确实使用UTF-8,则必须从一开始读取整个文件才能执行此类计算。我不知道有哪一个库具有如此特定的函数,但在Java中,使用适当的
InputStreamReader

行和列号,它也很容易做到?文本文件、Excel工作表、其他文件?@AlexR、纯文本文件。这将取决于您是想直接使用随机文本文件,还是想将单个文件及其行偏移量保留在内存中,以便可以有效地计算多行/列对的字节偏移量。给定行号、列和字符集。如果字符数是固定的,并且使用每个字符具有固定字节数的字符集(例如ISO-8859-1->1字节),则它是一个简单的乘法。如果字符计数是可变的,或者字符集使用可变的字节数(例如UTF-8),则无法进行计算,您需要将文件读取到该位置。