私の質問は、Java の StringReader の mark() メソッドに関するものです。これが私のシナリオです:
StringReader reader = new StringReader("Test123");
reader.mark(0);
boolean bool = doSomething(reader)//reads from reader with calls to mark() inside
if (bool == false) {
reader.reset();
}
doSomethingElse(reader);
doSomething() が false を返す場合、リーダーを元の状態に戻したいと考えています。reset() はリーダーを以前に呼び出されたマークにリセットするだけであり、doSomething() メソッド内から呼び出されたマークがあるため、doSomething() メソッドに入る前に 1 行呼び出されたマークを参照しません。これに対する回避策はありますか?助けてくれてありがとう!