java csv 导出_Java如何导出Csv文件代码及解析-Fun言

csv简介

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。

业务场景

通常我们从数据库或者从文本,表格读取数据,然后经过一系列的运算,从而生成新的数据,然后导出到csv文件中。

代码实现

这里我们用读取txt文档里的信息,经过运算等导出csv

1、txt文本小明,数学,99,298,9

小红,数学,88,469,6

小马,数学,66,789,3

2、代码public static void main(String[] args) throws IOException {

File file = new File("/Users/fucker/Downloads/test.txt");

StringBuilder result = new StringBuilder();

//表头

result.append("姓名,科目,成绩,排名,学分,考试类型").append("\r\n");

try {

//读取文本信息

BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件

String s = null;

String[] txtline;

StringBuffer stringBuffer = new StringBuffer();

while ((s = br.readLine()) != null) {//使用readLine方法,一次读一行

txtline = s.split(",");

if (txtline.length > 0) {

//编辑获取的数据,这里注意一个逗号就是一列数据,需要和表头一致

stringBuffer.append(txtline[0])

.append(",")

.append(txtline[1])

.append(",")

.append(txtline[2])

.append(",")

.append(txtline[3])

.append(",")

.append(Integer.valueOf(txtline[4]) * 4)

.append(",")

.append("月考")

.append("\r\n");

}

result.append(stringBuffer.toString());

stringBuffer.setLength(0);

}

br.close();

} catch (Exception e) {

e.printStackTrace();

}

//导出数据

String filenameTemp = "/Users/fucker/Downloads/test.csv";

File filename = new File(filenameTemp);

if (!filename.exists()) {

filename.createNewFile();

} else {

filename.delete();

filename.createNewFile();

}

Writer out = new FileWriter(filename);

out.write(String.valueOf(result));

out.close();

System.out.println("生成csv成功,文件路径:" + filenameTemp);

}

这里大家要明白一个原理就是,csv就是逗号分隔符,一个逗号就是一列,所以我们只需要把所需的列用逗号隔开即可,这也是本教程的灵魂所在。

3、效果

d1218d24644bd3f8a2afe207ddaff925.png

你还没有登录,请先使用 QQ登录 或 注册!

文章评论

发表评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值