如何查找文件中的子字符串是否已存在于hashmap中?

时间:2015-04-22 11:07:39

标签: java algorithm hashmap file-manipulation bimap

我有一个hashMap(guava bimap),其中键和值都是字符串,我想编写一个解析给定文件的程序,并用Biima中相应的值替换文件中同样存在于BiMap中的所有字符串。

例如:我有一个名为test.txt的文件有以下文字 Java is a set of several computer software and specifications developed by Sun Microsystems.

我的BiMap有 "java i" => "value1" "everal computer" => "value2"等。

所以现在我希望我的程序将test.txt和Bimap作为输入并给出一个看起来像这样的输出

value1s a set of svalue2 software and specifications developed by Sun Microsystems.

请指出我可以做任何算法,程序将大文件作为输入,所以蛮力可能不是一个好主意。

编辑:我使用固定长度的字符串作为键和值。 该示例仅用于显示操作。 谢谢。

1 个答案:

答案 0 :(得分:1)

对于像这样的批量操作,我会避免将大量数据放入内存中。因此,我建议您将新内容写入新文件。如果最后的文件必须是完全相同的文件,则在过程结束时仍可以用另一个文件替换另一个文件。分别读取,写入和刷新每一行,你就不会有任何内存问题。