1 java algorithm binaryfiles out-of-memory pattern-matching
我正在尝试编写一个程序,它将读取非常大的二进制文件并尝试查找2个不同字符串的出现,然后打印与模式匹配的索引.为了示例,我们假设字符序列是[H,e,l,l,o]
和[H,e,l,l,o, ,W,o,r,l,d]
.
我能够为小二进制文件编写代码,因为我将每个字符作为一个字节读取,然后将其保存在Arraylist
.然后从的开头开始Arraylist
,我是比较byte arraylist(byte[] data)
用byte[] pattern
.
我需要找到一种方法来做同样的事情,但没有在内存中写入整个二进制文件进行比较.这意味着我应该能够在阅读每个字符时进行比较(我不应该将整个二进制文件保存在内存中).假设二进制文件仅包含字符.
有关如何实现这一目标的任何建议?谢谢大家.