while(matcher.find()) ループを使用して、特定の部分文字列をファイルに書き込みます。System.out コンソールのファイルで一致した文字列のリストを取得できますが、FileWriter を使用してテキスト ファイルに書き込もうとすると、ループ内の最後の文字列しか書き込まれません。私は同様の問題についてstackoverflowを精査しました(そしてそれはその名前にふさわしいものです)、私を助けるものは何も見つかりませんでした。明確にするために、これは EDT で実行されていません。問題を探す場所を誰かが説明できますか?
try {
String writeThis = inputId1 + count + inputId2 + link + inputId3;
newerFile = new FileWriter(writePath);
//this is only writing the last line from the while(matched.find()) loop
newerFile.write(writeThis);
newerFile.close();
//it prints to console just fine! Why won't it print to a file?
System.out.println(count + " " + show + " " + link);
} catch (IOException e) {
Logger.getLogger(Frame1.class.getName()).log(Level.SEVERE, null, e);
} finally {
try {
newerFile.close();
} catch (IOException e) {
Logger.getLogger(Frame1.class.getName()).log(Level.SEVERE, null, e);
}
}
}