2

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

谢谢!

4

2 回答 2

1

以字节为单位的字符偏移量是一种非常奇怪的野兽。你想要字符,还是想要字节?这是一个编码问题。对于 UTF-8,它甚至因不同的字符而异(因为a它是一个字节,对于ä两个)。当你只使用 ASCII 时你是安全的,但你没有这么说。

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

于 2012-10-29T10:24:43.287 回答
0

InputStream具有跳过 n 个字节的方法。如果你想跳过固定大小的行,你总是可以计算要跳过的字节数。否则你需要执行 false nextLineonBufferedReader

于 2012-10-29T10:16:13.513 回答