BufferedReader.readLine
メソッドの機能が完全に適合するように、アドホックラインベースのプロトコル用のパーサーを作成しています。
しかし、行末が正確である必要があり、 or\r\n
のみが見つかった場合にエラーがスローされる (または他の解析ロジックが適用される)という特定の要件があります。\r
\n
カスタムの行分割実装を展開せずにこれを強制する方法はありますか?
そうでない場合、これを実装する最良の方法は何ですか?
潜在的readLine()
にそれ自体をオーバーライドすることはできますが、基本的にはその中のすべてのコードを再現する必要があります。行末を変更するためだけに微調整できるものはありません。
あなたのコードがバッファに直接アクセスできないことを考えると、自分で多くのバッファリングを行う必要がないようにするために、 a から読み取る可能性のあるまったく新しいクラスを実際に実装する時間が簡単になると思います。(つまり、インスタンス内にバッファーを持つのではなくBufferedReader
、メソッドの期間だけバッファーします。)readLine
行をスキャンして無効な文字列を探すしか方法はありません。これは、 (ジョンが言及したように)readLine()
からメソッドを上書きするか、読書クラスでこれを行うことができます。BufferedReader