java实现 将List<User> 里面很多数据的几个字段提取出来快速写到txt 文件里面

目录

  • [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(),你可以确保在流关闭之前数据被立即写入到文件中。这样可以避免在某些情况下出现数据未被写入的问题。

相关推荐
廋到被风吹走36 分钟前
【Spring】Spring Data JPA Repository 自动实现机制深度解析
java·后端·spring
MX_935938 分钟前
Spring中Bean的配置(一)
java·后端·spring
sg_knight5 小时前
Spring 框架中的 SseEmitter 使用详解
java·spring boot·后端·spring·spring cloud·sse·sseemitter
郑州光合科技余经理7 小时前
同城系统海外版:一站式多语种O2O系统源码
java·开发语言·git·mysql·uni-app·go·phpstorm
一只乔哇噻7 小时前
java后端工程师+AI大模型开发进修ing(研一版‖day60)
java·开发语言·人工智能·学习·语言模型
LNN20227 小时前
Linuxfb+Qt 输入设备踩坑记:解决 “节点存在却无法读取“ 问题
开发语言·qt
Dolphin_Home7 小时前
笔记:SpringBoot静态类调用Bean的2种方案(小白友好版)
java·spring boot·笔记
foxsen_xia8 小时前
go(基础06)——结构体取代类
开发语言·算法·golang
MetaverseMan8 小时前
Java虚拟线程实战
java
巨人张8 小时前
C++火柴人跑酷
开发语言·c++