java导入csv文件时利弊_java 对CSV 文件的读取与生成

CSV文件是以逗号分隔值的文件格式,一般用WORDPAD或记事本(NOTE),EXCEL打开。CSV(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式,对于CSV文件的读取与生成其实很简单,只要读取的时候用(,)进行切割就可以获得相应的列元素,在生成的时候不同的列元素之间加上(,)

demo如下:

//读取CSV文件

public void readCsvFile(String fileName) throws IOException {

BufferedReader bufferedReader=null;

try{

bufferedReader=new BufferedReader(new FileReader(fileName));

String line=null;

while(null!=(line=bufferedReader.readLine())){

String[] lines = line.split(",");

logger.info("这就是文件的内容"+ Arrays.toString(lines));

}

}catch (IOException e){

throw new IOException(e);

}finally {

if(bufferedReader!=null){

try {

bufferedReader.close();

} catch (IOException e) {

logger.error("输入流关流出现异常",e);

}

}

}

}

//生产CSV文件

public static void writerCsvFile(String fileName, List list) throws IOException {

BufferedWriter bufferedWriter=null;

try{

bufferedWriter= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName),"GBK"));

for (String[] s:list) {

for (int i=0;i

bufferedWriter.write(s[i]);

bufferedWriter.write(",");

}

bufferedWriter.newLine();//记得换行

}

}catch (IOException e){

throw new IOException(e);

}finally {

if(bufferedWriter!=null){

try {

bufferedWriter.close();

} catch (IOException e2) {

logger.error("输出流关流出现异常",e2);

}

}

}

}

值得注意的是:在进行生成CSV文件的时候,对于长的数字组成的字符串的写入,CSV会自动进行数字化转换,即科学计数法,对于要不要处理,还是根据需求来定

如果是想直观的双击打开就不要进行转换的话,就要在写入的时候,告诉CSV,我不是写的数字,可以进行再写的时候拼接\t,;等信息

如果生成的CSV文件,也是使用的输入流进行读取的话,不用做处理,会自动进行识别,因为这个是CSV文件的格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值