Java CSV操作(导出和导入)

 CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件。在 CSV文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。
 
1、CSV导入/导出封装类
  1. package com.parami.utils;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.File;
  6. import java.io.FileOutputStream;
  7. import java.io.FileReader;
  8. import java.io.IOException;
  9. import java.io.OutputStreamWriter;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12.  
  13. /**
  14. * CSV操作(导出和导入)*/
  15. public class CSVUtils {
  16.  
  17. /**
  18. * 导出
  19. *
  20. * @param file csv文件(路径+文件名),csv文件不存在会自动创建
  21. * @param dataList 数据
  22. * @return
  23. */
  24. public static boolean exportCsv(File file, List<String> dataList){
  25. boolean isSucess=false;
  26.  
  27. FileOutputStream out=null;
  28. OutputStreamWriter osw=null;
  29. BufferedWriter bw=null;
  30. try {
  31. out = new FileOutputStream(file);
  32. osw = new OutputStreamWriter(out);
  33. bw =new BufferedWriter(osw);
  34. if(dataList!=null && !dataList.isEmpty()){
  35. for(String data : dataList){
  36. bw.append(data).append("\r");
  37. }
  38. }
  39. isSucess=true;
  40. } catch (Exception e) {
  41. isSucess=false;
  42. }finally{
  43. if(bw!=null){
  44. try {
  45. bw.close();
  46. bw=null;
  47. } catch (IOException e) {
  48. e.printStackTrace();
  49. }
  50. }
  51. if(osw!=null){
  52. try {
  53. osw.close();
  54. osw=null;
  55. } catch (IOException e) {
  56. e.printStackTrace();
  57. }
  58. }
  59. if(out!=null){
  60. try {
  61. out.close();
  62. out=null;
  63. } catch (IOException e) {
  64. e.printStackTrace();
  65. }
  66. }
  67. }
  68.  
  69. return isSucess;
  70. }
  71.  
  72. /**
  73. * 导入
  74. *
  75. * @param file csv文件(路径+文件)
  76. * @return
  77. */
  78. public static List<String> importCsv(File file){
  79. List<String> dataList=new ArrayList<String>();
  80.  
  81. BufferedReader br=null;
  82. try {
  83. br = new BufferedReader(new FileReader(file));
  84. String line = "";
  85. while ((line = br.readLine()) != null) {
  86. dataList.add(line);
  87. }
  88. }catch (Exception e) {
  89. }finally{
  90. if(br!=null){
  91. try {
  92. br.close();
  93. br=null;
  94. } catch (IOException e) {
  95. e.printStackTrace();
  96. }
  97. }
  98. }
  99.  
  100. return dataList;
  101. }
  102. }

2、CSV导入/导出测试

  1. package junit.test;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import org.junit.Test;
  8.  
  9. import com.parami.utils.CSVUtils;
  10.  
  11. /**
  12. * CSV操作(导出和导入)
  13. */
  14. public class CsvTest {
  15.  
  16. /**
  17. * CSV导出
  18. *
  19. * @throws Exception
  20. */
  21. @Test
  22. public void exportCsv() {
  23. List<String> dataList=new ArrayList<String>();
  24. dataList.add("1,张三,男");
  25. dataList.add("2,李四,男");
  26. dataList.add("3,小红,女");
  27. boolean isSuccess=CSVUtils.exportCsv(new File("D://test.csv"), dataList);
  28. System.out.println(isSuccess);
  29. }
  30.  
  31. /**
  32. * CSV导入
  33. *
  34. * @throws Exception
  35. */
  36. @Test
  37. public void importCsv() {
  38. List<String> dataList=CSVUtils.importCsv(new File("D://test.csv"));
  39. if(dataList!=null && !dataList.isEmpty()){
  40. for(String data : dataList){
  41. System.out.println(data);
  42. }
  43. }
  44. }
  45.  
  46. }

  

Java CSV操作(导出和导入)的更多相关文章

  1. 【Java】Java CSV操作代码

    CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件.在 CSV文件中,数据“栏”以逗号分隔,可允许程序通 ...

  2. jxl java工具类,导出excel,导入数据库

    1: 引入jxl jar 我使用的为maven管理, <!--Excel工具--> <dependency> <groupId>net.sourceforge.je ...

  3. java命令行导出、导入sql文件

    @IocBean public class SqlCommandModel{ //用户名 @Inject("java:$conf.get('jdbc.username')") pr ...

  4. java——程序的导出与导入

    导出: 选择项目,右击选择 最下面的properties——Resource——Location,就是你的项目所在地, 找到文件所在,拷贝到你的U盘中(或者直接点击项目直接拖到桌面)完成复制 导入: ...

  5. java使用POI操作excel文件,实现批量导出,和导入

    一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...

  6. Java基于注解和反射导入导出Excel

    代码地址如下:http://www.demodashi.com/demo/11995.html 1. 构建项目 使用Spring Boot快速构建一个Web工程,并导入与操作Excel相关的POI包以 ...

  7. Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)

    Elasticseach目前作为查询搜索平台,的确非常实用方便.我们今天在这里要讨论的是如何做数据备份和type删除.我的ES的版本是2.4.1. ES的备份,可不像MySQL的mysqldump这么 ...

  8. 【Mongodb】数据库操作--备份、还原、导出和导入

    文章转载自点这里 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. mongo ...

  9. java通过jxls框架实现导入导出excel

    //使用jxls报表生成工具,把java实体类导出生成 Excel文件或导入 Excel 插入数据库 02 03//读取04 05public class ReadExcel {06 private ...

随机推荐

  1. 【cube】SSAS(分析服务)优化手册

    优化前注意事项 1.数据质量.数据仓库中维度表的数据质量要严格保证.比如店仓的大区.省区.管理城市等属性和店仓代码没有一对多的上下级关系,这样在设计店仓维度时,就无法建立有效的层次结构.这会拖慢查询时 ...

  2. 夺命雷公狗---DEDECMS----14dedecms首页导航条的完成

    我们的首页完成了,那么下一步就开始创建一个模型了, 添加好电影模型后我们来给他添加一些字段,这些字段主要还是要看我们的项目需求来添加的,因为我们的项目里有: 我们在项目中要用得上这些字段,所以要对他们 ...

  3. php 下载保存文件保存到本地的两种方法

    第一种: 1 <? ?> 或 <?php //下载文件保存到本地//www.jbxue.comfunction downfile($fileurl){ob_start(); $fil ...

  4. .NET 通过SmtpClient发送邮件 提示 4.7.1 service unavailable try again later 解决办法

    最近用C#的SmtpClient发送电子邮件碰到这个错误: 正在处理错误. 服务器响应为:4.7.1 Service unavailable - try again later 换了其他的SMTP服务 ...

  5. (一)MapReduce篇之InputFormat,InputSplit,RecordReader(转)

    平时我们写MapReduce程序的时候,在设置输入格式的时候,总会调用形如job.setInputFormatClass(KeyValueTextInputFormat.class);来保证输入文件按 ...

  6. const修饰虚函数

    [1]程序1 #include <iostream> using namespace std; class Base { public: ; }; class Test : public ...

  7. CentOS修改主机名和网络信息

    1.修改主机名称 [root@centos ~]# vim /etc/sysconfig/network打开文件,修改以下内容并保存 NETWORKING=yes #使用网络 HOSTNAME=cen ...

  8. linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-59416.html linux设备驱动归纳总结(三):1.字符型设备之设备申请 操作系统:Ubunru ...

  9. 阿里BCG重磅报告《人工智能,未来致胜之道》

    阿里BCG重磅报告<人工智能,未来致胜之道> 阿里云研究中心.波士顿咨询公司以及Alibaba Innovation Ventures合作共同推出的<人工智能:未来制胜之道>这 ...

  10. Linux下jdk的配置

    首先将*.tar.gz压缩包解压 命令:tar -xzvf *.tar.gz假设得到的文件夹为java 将其移动到/usr/中 命令为:sudo mv java /usr/ 然后设置环境变量: sud ...