Ich versuche, eine Datei zu lesen und schreiben Sie mehrere Dateien nach dem Ändern eines kleinen Punktes.Dateien sind beim Schreiben mehrerer Dateien leer
Mein Code funktioniert beim Schreiben der ersten Datei, aber die anderen Dateien sind leere Dateien. :(
ich es denke, ist ein Problem, wenn ich bufferedwriter
und filewriter
, aber nicht finden kann, was das Problem ist, wenn ich einen Rat gefolgt flush
von Stackoverflow zu verwenden.
Was ist das Problem in meinem Code ist
? FileReader fr = new FileReader(FileDir);
BufferedReader br = new BufferedReader(fr);
for (String mc: matchedContents){
FileWriter fw = new FileWriter(saveFileDir+String.valueOf(matchedContents.indexOf(mc)+1)+".xml", false);
BufferedWriter bw = new BufferedWriter(fw);
while ((s = br.readLine())!=null){
// check if s has matched contents
if (s.contains(mc)){
String replacedString="";
if (mc.contains("NV"))
replacedString = s.replace(mc, "NV("+anyItem(edgeNames)+")");
else if (mc.contains("AW"))
replacedString = s.replace(mc, "AW("+anyItem(edgeNames)+")");
bw.write(replacedString);
bw.newLine();
}
else {
bw.write(s);
bw.newLine();
}
}
System.out.println(mc+" end");
bw.flush();
bw.close();
fw.close();
}
br.close();
fr.close();
versuchen und verwenden, die auf magische Weise, was ein Debugger genannt. –