У меня есть следующий код:Bufferedwriter работает, но файл пуст?
CSVmaker(LinkedList data) {
String [] myLines = makeStrings(data);
// for (int k = 0; k<myLines.length; k++)
// System.out.println(myLines[]);
this.file = new File("rawdata.csv");
try {
BufferedWriter buff = new BufferedWriter(new FileWriter(file));
for (int i = 0; i<myLines.length; i++){
buff.write(myLines[i]);
buff.newLine();
System.out.println("done");
}
} catch (IOException ex) {
System.out.println("except");
}
}
Нет, я проверил на содержание myLines, они являются правильными.
Кроме того, я получаю отпечаток, который печатает «сделано» так же часто, как и следовало бы. Создается csv.
Однако, если я открываю его вручную, он пуст.
В чем причина этого?
Вам не нужно использовать 'buff.close()'? – DevZer0
Весь смысл буфера заключается в буфере данных, пока он не будет заполнен, или вы не скажете, что хотите написать. Вы не сбросили() или не закрыли() поток, чтобы данные никогда не покидали буфер. –
Возможный дубликат [BufferedWriter не будет записывать все данные в файл] (http://stackoverflow.com/questions/11660116/bufferedwriter-wont-write-all-of-the-data-to-a-file) – Val