基本上我需要一个文本文件,例如:
弗雷德
·伯尼
·亨利
并能够按顺序从文件中读取它们
亨利·
伯尼·
弗雷德
我正在读取的实际文件> 30MB,读取整个文件,将其拆分为数组,反转数组然后从那里开始,这将是一个不太完美的解决方案。它需要的时间太长了。我的具体目标是找到第一次出现的字符串(在本例中是“InitGame”),然后返回该行开头的位置。
我以前在 python 中做过类似的事情。我的方法是寻找到文件的末尾 - 1024,然后读取行直到我到达末尾,然后从我之前的起点寻找另一个 1024,并且通过使用tell(),当我到达前一个时我会停止初始点。所以我会从文件末尾向后读取这些块,直到找到我正在寻找的文本。
到目前为止,我正在用 Java 做这件事。任何帮助将不胜感激,如果您住在巴尔的摩附近,您甚至可能会得到一些新鲜出炉的饼干。
谢谢!
更多信息:
我需要向后搜索,因为我正在阅读的文件是我托管服务器的游戏的日志文件(它是城市恐怖中的 |err| 服务器。检查一下)。日志文件记录游戏中发生的每个事件,然后我的程序将解析每个事件,对其进行处理,然后对其采取行动(例如,它会跟踪人们的爆头,还会自动踢出正在成为 d-bags 的人)。我需要搜索回最近的 InitGame 条目,以便我可以实例化所有玩家对象并处理自该游戏开始以来需要处理的任何其他内容。文件中有数百个 InitGame 事件,但我想要最后一个。如果有更好的方法不需要向后搜索,请告诉我。
谢谢