我的问题与 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() 方法之前调用的标记。有没有可能的解决方法?感谢您的帮助!