3

我有一个 hashMap(guava bimap),其中的键和值都是字符串,我想编写一个程序来解析给定的文件并用 Bimap 中的相应值替换文件中的所有字符串,这些字符串也在 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.

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

编辑:我使用固定长度的字符串作为键和值。该示例只是为了展示操作。谢谢。

4

1 回答 1

1

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

于 2015-04-27T15:03:09.273 回答