Super CSV是一个速度奇快、免费跨平台的 CSV 格式数据的读写库,可以方便的处理对象、Map、列表的读写操作,以及自动化的类型转换和数据检查功能。
http://supercsv.sourceforge.net/
版本:SuperCSV-1.52.jar
1、读CSV(CsvBeanReader/CsvListReader/CsvMapReader)
InputStreamReader freader = new InputStreamReader(new FileInputStream(
new File("csv/test1.csv")), "GB2312");
ICsvBeanReader reader = new CsvBeanReader(freader,
CsvPreference.EXCEL_PREFERENCE);
//获取头部信息
String[] headers = reader.getCSVHeader(true);
//获取数据部分
UserBean bean = null;
while ((bean = reader.read(UserBean.class, headers, UserBean.readProcessors)) != null) {
System.out.print(bean.getName() + "\t");
System.out.print(bean.getAge() + "\t");
System.out.print(bean.getBirthday() + "\t");
System.out.println(bean.getAddress());
}
2、写CSV(CsvBeanWriter/CsvListWriter/CsvMapWriter)
OutputStreamWriter fwriter = new OutputStreamWriter(
new FileOutputStream(new File("csv/test2.csv")), "GB2312");
SimpleDateFormat format = new SimpleDateFormat("yyyy/M/d");
ICsvBeanWriter writer = new CsvBeanWriter(fwriter,
CsvPreference.EXCEL_PREFERENCE);
//做3条数据
UserBean bean1 = new UserBean();
bean1.setName("赵,四"); //特殊字符:逗号
bean1.setAge(26);
bean1.setBirthday(format.parse("1984/10/30"));
bean1.setAddress("辽宁");
UserBean bean2 = new UserBean();
bean2.setName("刘\n能"); //特殊字符:换行
bean2.setAge(24);
bean2.setBirthday(format.parse("1986/5/13"));
bean2.setAddress("吉林");
UserBean bean3 = new UserBean();
bean3.setName("谢\"广坤"); //特殊字符:双引号
bean3.setAge(22);
bean3.setBirthday(format.parse("1988/10/8"));
bean3.setAddress("黑龙江");
//输出头部
String headers[] = { "name", "age", "birthday", "address" };
writer.writeHeader(headers);
//按顺序输出数据
writer.write(bean1, headers, UserBean.writeProcessors);
writer.write(bean2, headers, UserBean.writeProcessors);
writer.write(bean3, headers, UserBean.writeProcessors);
writer.close();
3、自定义CellProcessor
InputStreamReader freader = new InputStreamReader(new FileInputStream(
new File("csv/test5.csv")), "GB2312");
ICsvBeanReader reader = new CsvBeanReader(freader,
CsvPreference.EXCEL_PREFERENCE);
//获取头部信息
String[] headers = reader.getCSVHeader(true);
CellProcessor[] readProcessors = new CellProcessor[] {
new StrMinMax(2, 10),
new ParseInt(),
new ParseDate("yyyy/M/d"),
new CellProcessorAdaptor() {
@Override
public Object execute(final Object value, final CSVContext context) {
String v = (String) value;
if (v.length() > 5) {
v = v.substring(0,5) + "......";
}
return next.execute(v, context);
}
}};
//获取数据部分
UserBean bean = null;
while ((bean = reader.read(UserBean.class, headers, readProcessors)) != null) {
System.out.print(bean.getName() + "\t");
System.out.print(bean.getAge() + "\t");
System.out.print(bean.getBirthday() + "\t");
System.out.println(bean.getAddress());
}
System.out.println();
reader.close();
其他的CSV解析器还有:
Commons CSV:
http://commons.apache.org/proper/commons-csv/
OpenCSV:
http://opencsv.sourceforge.net/
OrangeSignal CSV:
http://orangesignal.github.io/orangesignal-csv/
CSV Library Features Matrix
http://orangesignal.github.io/orangesignal-csv/csv_library_feature_matrix.html
https://github.com/uniVocity/csv-parsers-comparison
分享到:
相关推荐
本人以JAVA来实现以支付宝的账单表为例,实现JAVA读取CSV..csv是一种文件格式(如.txt、.doc等),也可理解.csv文件就是一种特殊格式的纯文本文件。即是一组字符序列,字符之间已英文字符的逗号或制表符(Tab)分隔。
下载javacsv-2.0.jar ,根据例子进行读写CSV操作。
java读写csv文件
通过引用【opevcsv】依赖,逐行读取数据 并转为Map,Object>格式,后续可以通过BeanUtil.MaptoBean()方法将map转为你需要的bean对象; csv文件必须带表头,bean对象命名符合驼峰格式; 通过此方法可以快速的将文件...
NULL 博文链接:https://thinktothings.iteye.com/blog/1536044
NULL 博文链接:https://qq-24665727.iteye.com/blog/2339850
Java读取excel,Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作。
文件中包括读取excel、csv文件,同时可以将读取出的文件内容保存在另外一个excel或csv中。注意excel2003和excel2007调用的jar包也不一样,需要将代码进行修改。2007版的将HSSF改成XSSF,2003相反。csv文件用XSSF
Java读取CSV插入Neo4j并生成Echarts关系图
本接口 可以 处理 csv文件 能实现csv文件的读和写,另外还提供相应的数据转化。可以实现对csv文件的修改,具有插入,删除,替换等操作接口。
该文档主要介绍java如何操作csv文件,在这里介绍了一个工具包的使用,也黏贴了java对于读取csv文件和写入csv文件时,对于大数据量的处理和安排,有效的解决了处理大数据是内存溢出问题
java读取csvjava 按顺序创建文件
一个非常好用的csv文件操作工具
java处理csv文件的java通用接口
java读取csv格式文件jar包,已经修改过bug.
在我们需求中需要读取一个csv文件的数据,但是只有旧的csv的几列数据再新写入一个csv文件,而且在旧的数据有空的数据,需要判断旧的csv的空值。可能写的存在不完善!但是应用的需求里面还是能用的
利用Java swing 对csv和excel文件进行读写;并且可以同时读取5个文件的数量;通过关键字配置来读文件,还有就是通过POI CSVWriter等类的使用来对excel和csv等文件进行操作
使用java对csv文件进行读写操作的源代码,包含javacsv.jar