Java读写csv文件标题处理_Java读写csv文件

本文介绍如何使用Java进行CSV文件的读取和写入操作。通过BufferedReader和BufferedWriter实现,读取时利用split方法处理逗号分隔的数据,写入时使用逗号连接数据。此外,提及了Apache POI在处理大量数据时可能出现的内存问题,建议在大数据场景下考虑使用CSV格式或阿里巴巴提供的工具库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

对于表格类数据,除了Excel相关的文件格式适合承载外,csv也是非常适合的一种格式。csv是通过逗号等分割符来组织数据的,个人看来,csv具有轻量级、能承载大批量数据、跨平台等特点,对于程序员而言是一种可以不依赖第三方库就能实现读写的文件格式,相关明确的定义可以在百科上找到,CSV百科。PS:程序员导数据如果偷懒的话,csv无疑非常适合。本文以Java语言为例,实现csv格式文件的读写。

Java读取csv文件内容

使用Java读取csv文件的核心是字符流Reader,通过字符流读取到每一行,每行的内容是逗号分割的字符串,这样通过String的split方法就能获取到每一行中每一个单元格的内容。示例如下:

public static void readCsv(String fileName) {

try (BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), "UTF-8"))) {

String record;

while ((record = file.readLine()) != null) {

System.out.println(record);

String[] cells = record.split(",");

for (String cell : cells) {

System.out.println(cell);

}

}

} catch (Exception e) {

}

}

Java将内容写入到csv文件

通过上面读取csv文件的范例,可以反推写入,同样用字符流Writer来写入,每一行的数据通过逗号分割。示例代码如下:

public static void writeCSVFile(List> dataList, String outPutPath, String filename) {

File csvFile = new File(outPutPath + File.separator + filename + ".csv");

try (BufferedWriter csvWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile), "UTF-8"), 1024)) {

File parent = csvFile.getParentFile();

if (parent != null && !parent.exists()) {

parent.mkdirs();

}

csvFile.createNewFile();

// 写入文件内容

for (List row : dataList) {

String line = String.join(",", row);

csvWriter.write(line);

csvWriter.newLine();

}

csvWriter.flush();

} catch (Exception e) {

}

}

PS:Apache poi 处理excel文件在大批量数据上会有OOM的问题,阿里已经就这个问题封装了自己的工具库,可以在github上搜到,随着数据量上升,用poi技术导出excel文件的效率跟导出csv这样简单的文件格式的效率相比还是有比较大的差距,以后会补充导出csv和poi导出Excel的Benchmark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值