プレーンテキスト内の行番号と列番号を指定して、文字オフセットをバイト単位で取得する必要がある Java アプリケーションを作成しています。車輪を再発明したくないので、これを行うための既存のライブラリがあるかどうか疑問に思っています。
ありがとう!
プレーンテキスト内の行番号と列番号を指定して、文字オフセットをバイト単位で取得する必要がある Java アプリケーションを作成しています。車輪を再発明したくないので、これを行うための既存のライブラリがあるかどうか疑問に思っています。
ありがとう!
バイト単位の文字オフセットは非常に奇妙な獣です。文字が必要ですか、それともバイトが必要ですか? これはエンコーディングの問題です。UTF-8 の場合、文字によって異なります ( a
1 バイト、ä
2 バイト)。ASCII のみを使用する場合は安全ですが、そうは言いませんでした。
UTF-8 を使用する場合、この種の計算を実行するには、ファイル全体を最初から読み取る必要があります。私はその特定の機能を持つライブラリを認識していませんが、適切なInputStreamReader
.
InputStreamには n バイトをスキップするメソッドがあります。固定サイズの行をスキップする場合は、スキップするバイト数をいつでも計算できます。nextLine
それ以外の場合は、 falseを実行する必要がありますBufferedReader