2013-07-04 28 views
2

我有一個代碼,應該在文件中寫入行.. - 如果文件不存在,它應該使用該名稱創建新文件。 - 如果文件存在,它應該只是寫新的生產線......寫入文件已存在 - 但我有一個問題

看來,它總是讓新的文件,我無法弄清楚如何避免它... 這裏是我的代碼...

如何在文件已經存在的情況下寫入新行?

THX烏拉圭回合時間...

if (isANumber(value) == true) { 
    String valResult = "validation_result=VALID"; 
    BufferedWriter writer = null; 
    writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("ValidationResults.txt"))); 
    System.out.println("Writing in TEXT file: " + "type=" + key + ";value=" + value + ";" + valResult); 
    writer.newLine(); 
    writer.write("\ntype=" + key + ";value=" + value + valResult + "\n"); 
    writer.flush(); 
    writer.close(); 
} else { 
    valResult = "validation_result=INVALID"; 
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("ValidationResults.txt"))); 
    System.out.println("Writing in TEXT file: " + "type=" + key + ";value=" + value + ";" + valResult); 
    writer.newLine(); 
    writer.write("\ntype=" + key + ";value=" + value + ";" + valResult + "\n"); 
    writer.flush(); 
    writer.close(); 
} 
+0

將語言和平臺標籤添加到此問題將是一個好主意。 – Abizern

+1

您需要以Append(Upate)模式打開文件。 –

+0

你使用哪種語言?什麼是目標操作系統或設備?將這些信息放在問題標籤中以吸引更多的專家。 – Artemix

回答

2

用戶一個FileWriter。這應該解決你的問題。 True參數表示下一行將附加到現有文件。如果你使用false,那麼文件將被覆蓋。

new BufferedWriter(new FileWriter("file.txt", true)); 
+0

TYYYYYY回憶:)現在工作得很好:) 我試過這個選項,但並沒有使用「真實」部分:) – Mlad3n

+1

我希望我可以對您的答案進行投票,但我仍然沒有足夠的聲望:) – Mlad3n

+0

所以,現在你可以,你可以將它標記爲正確答案;) –