[英]Writing to a CSV file, can't write to first line
try{
Writer rwrite = new BufferedWriter(new FileWriter(file, true));
rwrite.append(reservation.toString() + "\n");
rwrite.close();
}
catch(IOException e){
System.out.println("Could not open BufferedWriter.");
e.printStackTrace();
}
我的意思是基本上我的問題是我無法寫入空 csv 文件的第一行。 我可以寫第二個就好了。 也就是說,如果我自己手動輸入了第一行,我可以寫入第二行。
任何幫助感謝人們,真的,歡呼。 我難住了。
更新:
try{
File file = new File("reservations.csv");
Scanner fileIn = new Scanner(file);
try {
if(fileIn.hasNext()){
PrintWriter printWriter = new PrintWriter(new FileWriter("reservations.csv", true));
printWriter.write(reservation.toString() + "\n");
printWriter.close();
}
if(!fileIn.hasNext()){
PrintWriter printWriter = new PrintWriter(new FileWriter("reservations.csv"));
printWriter.write(reservation.toString() + "\n");
printWriter.close();
}
} catch (IOException e) {
System.out.println("Could not open BufferedWriter.");
e.printStackTrace();
}
}
catch(IOException e){
System.out.println("Error: failed to read from: " + "reservations.csv");
e.printStackTrace();
}
我把我的代碼改成了這個,這行得通,但對我來說看起來有點像怪物哈哈。 無論如何,感謝您的幫助,並且仍然會閱讀。
嘗試這個:-
try (PrintWriter printWriter = new PrintWriter(new FileWriter(file, true))) {
printWriter.write(reservation.toString());
} catch (IOException e) {
logger.error("Error encountered whilst writing the file. Error : ", e); e.printStackTrace();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.