【发布时间】:2013-01-12 10:31:50
【问题描述】:
我有巨大的文本文件——每个文件有 10 GB 大。
现在,我有 2 个字符串 "StringNumber1" 和 "StringNumber2"
“Stringnumber1”在每个文本文件中只出现一次,"StringNumber2" 总是在"StringNumber1" 之后(尽管在文本文件中"StringNumber2" 可能出现不止1 次)。
我想提取每个文件中出现的所有文本,从“StringNumber1”的匹配开始,直到匹配“StringNumber1”之后立即出现的"StringNumber2"(@987654327 这些出现之间的内容@ 和 "StringNumber2" 可能是几字节到几千兆字节)...
如何使用最少的 RAM 提取此类内容?我想在 Java 中做到这一点。
【问题讨论】:
-
看起来像是正则表达式的工作 - 但您需要向它们提供流。
-
仅仅使用
BufferedReader还不够好吗? -
您尝试过什么,遇到过什么困难?您是否知道自己有记忆问题,或者您担心自己可能有记忆问题?