3

我正在使用 Java Scanner 对象来解析文本文件。我需要扫描部分文件两次(出于性能原因,我不必临时存储其内容)。

因此,是否有一种方法可以将扫描仪“倒回”到特定文件位置?

或者,有没有办法克隆扫描仪,以便我可以独立使用每个实例(即它们不会移动彼此的文件位置指针)?

非常感谢,托马斯

编辑:

只扫描一次文件并直接处理它显然总是可能的,但会在我们现有的代码库中产生显着的额外复杂性,因此需要扫描文件的相同部分两次。

简而言之:该文件包含数千个逻辑项,并且要处理其中一些,我需要从项目开始一个存储在项目末尾的信息。

4

2 回答 2

5

只需在需要时创建一个新的 Scanner 实例。即使可以克隆它也没有必要或好处。“重绕”也一样——如果您需要重新读取文件,只需创建一个新的扫描仪。但是,我会探索存储您需要的位,因为我相信这会更有效。

顺便说一句:考虑告诉我们更多关于您的要求以及任何限制背后的原因,因为这些信息可以帮助我们为您提供更好的答案。

于 2013-05-15T19:52:07.640 回答
0

从这里被盗:http ://answers.yahoo.com/question/index?qid=20081017131128AAUcIow

Java 的 Scanner 没有文件“倒带”方法,但您可以通过关闭 Scanner 并重新打开它来获得相同的效果

于 2013-05-15T19:54:36.380 回答