in src/main/java/com/aliyun/dts/subscribe/clients/common/AtomicFileStore.java [39:64]
public boolean updateContent(List<String> newContent) {
synchronized (this) {
String tmpFileName = fileName + ".tmp";
if (checkFileExists(tmpFileName)) {
deleteFile(tmpFileName);
}
boolean writeSuccess = true;
FileWriter fileWriter = null;
BufferedWriter bufferedWriter = null;
try {
fileWriter = new FileWriter(tmpFileName);
bufferedWriter = new BufferedWriter(fileWriter);
for (String content : newContent) {
bufferedWriter.write(content);
bufferedWriter.newLine();
}
bufferedWriter.flush();
} catch (Exception e) {
writeSuccess = false;
} finally {
swallowErrorClose(fileWriter);
swallowErrorClose(bufferedWriter);
}
return writeSuccess ? (new File(tmpFileName).renameTo(new File(fileName))) : false;
}
}