Java Scanner“倒带”

时间:2013-05-15 19:50:34

标签: java parsing

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

因此,有没有办法将扫描仪“倒回”到特定的文件位置?

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

非常感谢, 托马斯

修改

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

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

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

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

  

Java的扫描仪没有文件“倒带”方法,但关闭扫描仪并重新打开它可以获得相同的效果