[英]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.