Java CSV操作(导出和导入)
2015-10-23 18:00
337 查看
CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件。在 CSV文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。如:1,张三,男2,李四,男3,小红,女 1、CSV导入/导出封装类package com.parami.utils;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.OutputStreamWriter;import java.util.ArrayList;import java.util.List;/** * CSV操作(导出和导入) * * @author 林计钦 * @version 1.0 Jan 27, 2014 4:30:58 PM */public class CSVUtils { /** * 导出 * * @param file csv文件(路径+文件名),csv文件不存在会自动创建 * @param dataList 数据 * @return */ public static boolean exportCsv(File file, List<String> dataList){ boolean isSucess=false; FileOutputStream out=null; OutputStreamWriter osw=null; BufferedWriter bw=null; try { out = new FileOutputStream(file); osw = new OutputStreamWriter(out); bw =new BufferedWriter(osw); if(dataList!=null && !dataList.isEmpty()){ for(String data : dataList){ bw.append(data).append("\r"); } } isSucess=true; } catch (Exception e) { isSucess=false; }finally{ if(bw!=null){ try { bw.close(); bw=null; } catch (IOException e) { e.printStackTrace(); } } if(osw!=null){ try { osw.close(); osw=null; } catch (IOException e) { e.printStackTrace(); } } if(out!=null){ try { out.close(); out=null; } catch (IOException e) { e.printStackTrace(); } } } return isSucess; } /** * 导入 * * @param file csv文件(路径+文件) * @return */ public static List<String> importCsv(File file){ List<String> dataList=new ArrayList<String>(); BufferedReader br=null; try { br = new BufferedReader(new FileReader(file)); String line = ""; while ((line = br.readLine()) != null) { dataList.add(line); } }catch (Exception e) { }finally{ if(br!=null){ try { br.close(); br=null; } catch (IOException e) { e.printStackTrace(); } } } return dataList; }}2、CSV导入/导出测试package junit.test;import java.io.File;import java.util.ArrayList;import java.util.List;import org.junit.Test;import com.parami.utils.CSVUtils;/** * CSV操作(导出和导入) * * @author 林计钦 * @version 1.0 Jan 27, 2014 4:17:02 PM */public class CsvTest { /** * CSV导出 * * @throws Exception */ @Test public void exportCsv() { List<String> dataList=new ArrayList<String>(); dataList.add("1,张三,男"); dataList.add("2,李四,男"); dataList.add("3,小红,女"); boolean isSuccess=CSVUtils.exportCsv(new File("D:/test/ljq.csv"), dataList); System.out.println(isSuccess); } /** * CSV导出 * * @throws Exception */ @Test public void importCsv() { List<String> dataList=CSVUtils.importCsv(new File("D:/test/ljq.csv")); if(dataList!=null && !dataList.isEmpty()){ for(String data : dataList){ System.out.println(data); } } } }
相关文章推荐
- Struts2 ModelDriven和FieldDriven
- 数据库类型与java数据类型的对应关系
- Java中使用log4j记录日志
- Android Eclipse 里面依赖工程无法关联源码解决方案
- JAVA设计模式(18) —<行为型>命令模式(Command)
- SpringMVC学习系列(6) 之 数据验证
- spring的bean加载2
- Myecilpse,Eclipse安装Freemarker插件
- java获取项目路径
- eclipse 配置maven项目
- springmvc /struts2原理
- java练习题——字符串
- switch开关语句 没有break是如何执行的
- spring+mybatis多数据源切换
- Spring Mvc 输出 Json
- Struts2标签总结
- Win7系统无法安装Java怎么办 Win7系统无法安装Java的故障分析及解决方法
- Struts2工作原理
- Spring MVC 整合Velocity及用法说明
- Java引用类型变量