使用commons-csv生成.csv文件
2015-07-14 18:25
357 查看
做个代码笔记,方便以后看。
commons-csv-1.1.jar的源码:https://github.com/apache/commons-csv
CsvFileBuilder.java类
测试类:
源码+jar包(在源码的lib文件下)下载地址:http://pan.baidu.com/s/1ntBY2ud
commons-csv-1.1.jar的源码:https://github.com/apache/commons-csv
CsvFileBuilder.java类
package com.huihui.main; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; public class CsvFileBuilder { private static final String[] header = { "id", "name"}; private static FileWriter fileWriter = null; private static CSVPrinter csvPrinter = null; private static CSVFormat csvFormat = CSVFormat.DEFAULT.withRecordSeparator('\n'); // 每条记录间隔符 public static void write(Map<String, String> info) { File file = new File("test.csv"); System.out.println(file.getAbsolutePath()); try { if (!file.exists()) { fileWriter = new FileWriter("test.csv",true); // 创建test.csv的字符输出流 csvPrinter = new CSVPrinter(fileWriter, csvFormat); csvPrinter.printRecords(header); // 生成.csv表的字段名 System.out.println("执行"); }else { fileWriter = new FileWriter("test.csv",true); // 创建test.csv的字符输出流 csvPrinter = new CSVPrinter(fileWriter, csvFormat); System.out.println("文件存在"); } Set<String> ids = info.keySet(); for (String id : ids) { List<String> idName = new ArrayList(); idName.add(id); idName.add(info.get(id)); csvPrinter.printRecord(idName); // 向.csv文件中添加记录数据 } System.out.println("生成.csv文件"); }catch(IOException e) { e.printStackTrace(); }catch(Exception e) { e.printStackTrace(); }finally { try { csvPrinter.flush(); fileWriter.flush(); fileWriter.close(); csvPrinter.close(); }catch (Exception e) { e.printStackTrace(); } } } }
测试类:
package com.huihui.main; import java.util.HashMap; import java.util.Map; public class TestCsvFileBuilder { public static void main(String[] args) { Map<String, String> idName = new HashMap(); idName.put("1", "Java"); idName.put("2", "C++"); idName.put("3", "Python"); idName.put("4", "Ruby"); CsvFileBuilder.write(idName); } }
源码+jar包(在源码的lib文件下)下载地址:http://pan.baidu.com/s/1ntBY2ud
相关文章推荐
- 2013版Excel:[2]用Get.cell函数统计单元格
- 结构体案例之学生成绩输入及排序
- [C#打包部署教程]002.VS2012 + Dotfuscator
- PHP开发工作心得
- CreateProcess函数详解
- Android 线性布局属性详解
- React JS高速新手教程
- 方便地在程序里面设置调度各种定时操作
- spark简单总结—短小精悍
- 结构体
- 设计师给了px单位的标注,Android开发到底要设置多少dip、dp、sp?
- php 手机号判断问题
- 关于liaoxuefeng的python3教程实战第四天
- Excel - 如何能固定顶端几行,下面的排序(要求默认排序,非菜单)
- hdu1018+ cug1441N!的位数
- 代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
- java.lang.VerifyError错误
- layoutParams-动态更改某个控件的margin
- 实习小记-代码摆放位置不对,模块化设计的思考
- SSH