[英]Java save temporary data to file
我有以下代碼:
for (Record record : Adatok) {
//System.out.println(record.toString2());
act_data=tmp.testtestclass(record);
System.out.println("*******");
System.out.println("Feldolgozás eredménye:");
System.out.println(data_restructure(act_data));
// String content = record.nev + ";" + record.address + "\n"+"asd";
File file = new File("resultset.csv");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(data_restructure(act_data) + "\n");
bw.close();
}
我的問題是此循環運行時間為數小時,並且可能會中斷。 所以我在里面做這個文件寫入/緩沖寫入。 因此,每次他取回數據都比我想將其寫入文件時要多。
但是,當我這樣做時,總是只向我的文件寫入1行,什么也沒有。
我該如何改善? 我嘗試使用firewriter,bufferedwriter,但這有點麻煩。
我知道這是一個愚蠢的問題,但是由於基本示例不起作用,因此我無法說明如何解決它。
將這些行放在循環之外(之前)。 您將在每次循環迭代中覆蓋文件。
File file = new File("resultset.csv");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
也,
bw.close(); // outside (after) the loop
您可以嘗試使用帶有TRUE參數的FileWriter:
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true); //see here!
BufferedWriter bw = new BufferedWriter(fw);
這樣,新的文本將被附加到文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.