Java CSV操作(导出和导入)
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操作(导出和导入)相关推荐
- txt文档操作(导出和导入)【工具包系列】
上一篇介绍了CSV的导入导出,现在介绍txt的导入导出,两者非常的相似,就不多介绍了,直接上代码了 [java] view plain copy package com.lwl.util; impor ...
- oracle导出超过100m的数据库,Oracle数据库的导出和导入
1.在本机的Windows的cmd界面直接操作导出和导入数据库. 导出Linux服务器上的数据库:我们可以确认在windows的cmd界面先输入tnsping 数据库服务名(metardb).这个命令 ...
- java根据模板导出word文档
1,新建word 格式是:姓名 ${vv} 或者 {{vv}} 如图: 2, 将该word文件另存为xml格式(注意是另存为,不是直接改扩展名) 3, 将xml文件的扩展名直接改为ftl 4, 用ja ...
- Oracle数据库表导出和导入csv文件操作
Oracle数据库表导出和导入csv文件操作 数据库是Oracle 9i 1.导出csv文件 这个十分简单,用pl/sql工具即可,首先选中要导出的表,右键选择Query data,在左侧出现的窗口中 ...
- python操作sqlite3 导入csv文件_[转载]SQLite 3导入导出成txt或csv操作
平时使用官方提供的sqlite3.exe工具来操作 sqlite的数据库,可以在网上下到. 进入管理: sqlite3.exe d:\\test.db //假设数据是 d:\\test.db > ...
- java excel导出2007_java操作excel文件,实现批量导出,和导入
一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...
- Java基于注解和反射导入导出Excel
代码地址如下: http://www.demodashi.com/demo/11995.html 1. 构建项目 使用Spring Boot快速构建一个Web工程,并导入与操作Excel相关的POI包 ...
- Java代码实现excel的导入和导出
文章目录 简介 常用方法 导出Excel 导入Excel 简介 目前比较常用的实现Java导入.导出Excel的技术有:Jakarta POI.freemarker和Java Excel,在此只对Ja ...
- [Java中实现Excel表导入导出]基于easy-poi和EasyExcel两种方式实现
第一种:基于easy-poi实现Excel导入导出 1.导出Excel表格 第一步:在pom文件中导入依赖 <!--基于easy-poi实现Excel导入导出--><dependen ...
最新文章
- SQL基础学习总结:3(select语句基础算术运算符比较运算符)
- NeHe OpenGL第二十八课:贝塞尔曲面
- 每日一练:Python代码绘制航海王草帽路飞,打饭阿姨也能跟着学会的Turtle海龟绘图系列
- cmd安装linux服务器,cmdbuild安装
- 计算机二级报名学校白名单,干货丨2021机器人编程赛事+等级考试攻略之教育部白名单赛事篇...
- 《软件调试分析技术》学习笔记
- Java ArrayList isEmpty()方法与示例
- 堆垛机器人编程技巧_机器人智能堆垛的控制方法与流程
- Linux服务器中的wget、curl和scp
- Python新手学习基础之数据类型——字符串的切片截取
- 常用位操作技巧(Golang)
- linux 火狐浏览器插件,Linux系统Firefox(火狐浏览器)插件挂机
- Flutter 《从0到1构建大前端应用》-所有知识点架构
- Thingsboard 3.1.0 - REST API
- Septentrio RAIM+接收机自主完好性监测实验
- C盘空间不够?win10自带mklink命令给C盘软件搬家减负【计算机小白必备】
- 两点间距离、点到直线距离、点到线段距离、线段到线段距离
- python如何移动图片_python 简单图像处理(3) 平移
- 【毕业设计】基于单片机的智能饮水控制系统 - 物联网 嵌入式 stm32 c51
- jQuery仿天猫完美加入购物车
热门文章
- c++扫雷游戏代码_C语言学习教程,用C语言编写扫雷游戏
- axure购物车加减实现
- 【编辑器】VScode+code runner+python3编译
- 【CCCC】L2-029 特立独行的幸福 (25分),模拟题,set用法
- Windows的一些网络设置
- 【Luogu3926】SAC E#1 - 一道不可做题 Jelly
- 【Luogu3371】【模板】单源最短路径(SPFA)
- dongle 工具 蓝牙_CC2540 USB Dongle 蓝牙抓包分析仪使用教程
- io 错误: socket closed_Tomcat NIO(9)IO线程Overall流程和关键类
- 线段树区间合并--询问某段区间内最长连续上升子序列即最长上升子串