[英]not writing line by line
private static void displaytoFile(int trial, int count) {
// TODO Auto-generated method stub
String answer;
try{
// Create file
FileWriter fstream = new FileWriter(outputfile);
BufferedWriter out = new BufferedWriter(fstream);
answer = "Case #"+trial+": "+count;
out.write(answer);
out.newLine();
//Close the output stream
out.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
displaytoFile()方法在我的項目中被循環調用,但是我無法一行一行地寫入文件。它僅寫入最后一行,即在上一次迭代過程中傳遞的參數。我在控制台和其他代碼中進行了測試可以,它顯示所有內容,但此代碼段似乎有問題,因為它似乎覆蓋了以前的值。如何才能逐行寫入文件?
使用FileWriter(String, boolean)
構造函數以附加輸入,而不是重寫整個文件:
FileWriter fstream = new FileWriter(outputfile, true);
FileWriter fstream = new FileWriter(outputfile);
BufferedWriter out = new BufferedWriter(fstream);
answer = "Case #"+trial+": "+count;
out.write(answer);
out.newLine();
//Close the output stream
out.close();
有問題。 這是因為在循環的每次迭代中,您都清除了文件,然后將當前行寫入其中。 您應該在循環之前打開文件,然后在循環之后關閉文件。 或者確保像現在所做的那樣先添加到文件,而不是先清除然后再寫。
您必須指出要附加到文件中
在此處查看方法文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.