eclipse ideを使用して、多数のファイルに対して通常の式を使用して検索および置換プログラムを作成しました。このプログラムでは、検索および置換を実行するディレクトリの名前を指定しました(サブディレクトリも含まれる場合があります)。ファイルの数はスムーズに実行されますが、1000個のファイルがあるディレクトリの場合は、何も実行されないように(jvmメモリサイズを増やした後でも)その間にハングします。BufferedReaderを使用して各ファイルを1行ずつ読み取り、正規表現を使用してその行のパターンを一致させてから、他のテキストに置き換えました。誰かが私にそれのための可能な解決策(アルゴリズム、ライブラリ、トリック、ハック)を提案できますか?
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();