我正在使用 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);
}
}
}