我有一个 hashMap(guava bimap),其中的键和值都是字符串,我想编写一个程序来解析给定的文件,并用 Bimap 中的相应值替换文件中也在 BiMap 中的所有字符串。
例如:我有一个名为 test.txt 的文件,其中包含以下文本
Java 是由 Sun Microsystems 开发的一组计算机软件和规范。
我的 BiMap 有
“java i”=>“value1”
"everal computer"=> "value2"
等..
所以现在我希望我的程序将 test.txt 和 Bimap 作为输入并给出一个看起来像这样的输出
value1s a set of svalue2 software and specifications developed by Sun Microsystems.
请指出任何可以做到这一点的算法,该程序将大文件作为输入,因此暴力破解可能不是一个好主意。
编辑:我对键和值使用固定长度的字符串。 该示例只是为了显示操作。 谢谢。
最佳答案
对于像这样的批处理操作,我会避免将大量数据放入内存中。因此,我建议您将新内容写入新文件。如果最后的文件必须是完全相同的文件,您仍然可以在过程结束时用一个文件替换另一个文件。分别读取、写入和刷新每一行,你不会有任何内存问题。
关于java - 如何查找文件中的子字符串是否已存在于 hashmap 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795600/