我已经使用eclipse ide为大量文件创建了一个使用正则表达式的搜索和替换程序。在这个程序中,我给出了要在其中执行搜索和替换的目录的名称(它也可能有子目录)。对于小的没有它运行平稳的文件,但对于具有 1000 个文件的目录,它挂在两者之间,什么都不做(即使在增加 jvm 内存大小之后)。我使用 BufferedReader 逐行读取每个文件,并使用正则表达式匹配行中的模式,然后将其替换为其他文本。任何机构都可以为我建议可能的解决方案(算法、库、技巧、黑客)吗?
BufferedReader br = new BufferedReader(new FileReader(fileName));
BufferedWriter bw = new BufferedWriter(new FileWriter(changedFile));
StringBuilder sb = new StringBuilder();
for (String line = br.readLine(); line != null; line = br.readLine()) {
sb.append(line).append("\n");
}
br.close();
sb.trimToSize();
String code = sb.toString();
code = code.replaceAll("System", "PrintWriter");
bw.write(code);
bw.flush();
bw.close();