目录
- [1 问题](#1 问题)
- [2 实现](#2 实现)
1 问题
List 这个里面有很多的数据,现在要把他里面的a,B,C,D这4个字段提取出来,并且把数据都写到txt 文件里面,每一个数据一行,各个数值用逗号隔开
2 实现
在 BufferedWriter 写入数据后,有时候需要调用 flush()
方法来确保数据被立即写入到文件中,而不是等到缓冲区满了才写入。虽然在大多数情况下,当流关闭时缓冲区会被自动刷新,但为了确保数据被立即写入,最好是在写入数据后调用 flush()
方法。
java
public class DataExporter {
public static void exportZpSiteManagementData(List<ZpSiteManagement> dataList, String filePath) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
dataList.stream()
.map(site -> site.getSiteCode() + "," + site.getSiteName() + "," + site.getLon() + "," + site.getLat())
.forEach(data -> {
try {
writer.write(data);
writer.newLine();
} catch (IOException e) {
e.printStackTrace();
}
});
writer.flush(); // 确保数据被立即写入
} catch (IOException e) {
e.printStackTrace();
}
}
}
通过添加 writer.flush()
,你可以确保在流关闭之前数据被立即写入到文件中。这样可以避免在某些情况下出现数据未被写入的问题。