我有一个java应用程序试图写入一个包含30多个字段和多行的csv。如果应用程序在csv中写入一行时被杀,我有时会看到一半写入的行。在java中有一种可以原子方式写一行的方法吗?
我的要求是该行应该完全写入,而不是由于突然终止而遗漏某些字段。
我使用的代码:
File logFile = new File(csvLogPath, logFileName);
String fileContent = "a,b,c,d,e,f,g"; //around 500b to 1.5kb usually
FileWriter datawriter = new FileWriter(logFile, true);
datawriter.append(fileContent);
datawriter.append("\n");
datawriter.flush();
datawriter.close();