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*/@Testpublic 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*/@Testpublic 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);}}}}

转载于:https://www.cnblogs.com/linjiqin/p/3535067.html

Java CSV操作(导出和导入)相关推荐

  1. txt文档操作(导出和导入)【工具包系列】

    上一篇介绍了CSV的导入导出,现在介绍txt的导入导出,两者非常的相似,就不多介绍了,直接上代码了 [java] view plain copy package com.lwl.util; impor ...

  2. oracle导出超过100m的数据库,Oracle数据库的导出和导入

    1.在本机的Windows的cmd界面直接操作导出和导入数据库. 导出Linux服务器上的数据库:我们可以确认在windows的cmd界面先输入tnsping 数据库服务名(metardb).这个命令 ...

  3. java根据模板导出word文档

    1,新建word 格式是:姓名 ${vv} 或者 {{vv}} 如图: 2, 将该word文件另存为xml格式(注意是另存为,不是直接改扩展名) 3, 将xml文件的扩展名直接改为ftl 4, 用ja ...

  4. Oracle数据库表导出和导入csv文件操作

    Oracle数据库表导出和导入csv文件操作 数据库是Oracle 9i 1.导出csv文件 这个十分简单,用pl/sql工具即可,首先选中要导出的表,右键选择Query data,在左侧出现的窗口中 ...

  5. python操作sqlite3 导入csv文件_[转载]SQLite 3导入导出成txt或csv操作

    平时使用官方提供的sqlite3.exe工具来操作 sqlite的数据库,可以在网上下到. 进入管理: sqlite3.exe d:\\test.db //假设数据是 d:\\test.db > ...

  6. java excel导出2007_java操作excel文件,实现批量导出,和导入

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

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

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

  8. Java代码实现excel的导入和导出

    文章目录 简介 常用方法 导出Excel 导入Excel 简介 目前比较常用的实现Java导入.导出Excel的技术有:Jakarta POI.freemarker和Java Excel,在此只对Ja ...

  9. [Java中实现Excel表导入导出]基于easy-poi和EasyExcel两种方式实现

    第一种:基于easy-poi实现Excel导入导出 1.导出Excel表格 第一步:在pom文件中导入依赖 <!--基于easy-poi实现Excel导入导出--><dependen ...

最新文章

  1. SQL基础学习总结:3(select语句基础算术运算符比较运算符)
  2. NeHe OpenGL第二十八课:贝塞尔曲面
  3. 每日一练:Python代码绘制航海王草帽路飞,打饭阿姨也能跟着学会的Turtle海龟绘图系列
  4. cmd安装linux服务器,cmdbuild安装
  5. 计算机二级报名学校白名单,干货丨2021机器人编程赛事+等级考试攻略之教育部白名单赛事篇...
  6. 《软件调试分析技术》学习笔记
  7. Java ArrayList isEmpty()方法与示例
  8. 堆垛机器人编程技巧_机器人智能堆垛的控制方法与流程
  9. Linux服务器中的wget、curl和scp
  10. Python新手学习基础之数据类型——字符串的切片截取
  11. 常用位操作技巧(Golang)
  12. linux 火狐浏览器插件,Linux系统Firefox(火狐浏览器)插件挂机
  13. Flutter 《从0到1构建大前端应用》-所有知识点架构
  14. Thingsboard 3.1.0 - REST API
  15. Septentrio RAIM+接收机自主完好性监测实验
  16. C盘空间不够?win10自带mklink命令给C盘软件搬家减负【计算机小白必备】
  17. 两点间距离、点到直线距离、点到线段距离、线段到线段距离
  18. python如何移动图片_python 简单图像处理(3) 平移
  19. 【毕业设计】基于单片机的智能饮水控制系统 - 物联网 嵌入式 stm32 c51
  20. jQuery仿天猫完美加入购物车

热门文章

  1. c++扫雷游戏代码_C语言学习教程,用C语言编写扫雷游戏
  2. axure购物车加减实现
  3. 【编辑器】VScode+code runner+python3编译
  4. 【CCCC】L2-029 特立独行的幸福 (25分),模拟题,set用法
  5. Windows的一些网络设置
  6. 【Luogu3926】SAC E#1 - 一道不可做题 Jelly
  7. 【Luogu3371】【模板】单源最短路径(SPFA)
  8. dongle 工具 蓝牙_CC2540 USB Dongle 蓝牙抓包分析仪使用教程
  9. io 错误: socket closed_Tomcat NIO(9)IO线程Overall流程和关键类
  10. 线段树区间合并--询问某段区间内最长连续上升子序列即最长上升子串