Java CSV操作(导出和导入)
Java 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操作(导出和导入)*/
- 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操作(导出和导入)
- */
- 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.csv"), dataList);
- System.out.println(isSuccess);
- }
- /**
- * CSV导入
- *
- * @throws Exception
- */
- @Test
- public void importCsv() {
- List<String> dataList=CSVUtils.importCsv(new File("D://test.csv"));
- if(dataList!=null && !dataList.isEmpty()){
- for(String data : dataList){
- System.out.println(data);
- }
- }
- }
- }
Java CSV操作(导出和导入)的更多相关文章
- 【Java】Java CSV操作代码
CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件.在 CSV文件中,数据“栏”以逗号分隔,可允许程序通 ...
- jxl java工具类,导出excel,导入数据库
1: 引入jxl jar 我使用的为maven管理, <!--Excel工具--> <dependency> <groupId>net.sourceforge.je ...
- java命令行导出、导入sql文件
@IocBean public class SqlCommandModel{ //用户名 @Inject("java:$conf.get('jdbc.username')") pr ...
- java——程序的导出与导入
导出: 选择项目,右击选择 最下面的properties——Resource——Location,就是你的项目所在地, 找到文件所在,拷贝到你的U盘中(或者直接点击项目直接拖到桌面)完成复制 导入: ...
- java使用POI操作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包以 ...
- Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)
Elasticseach目前作为查询搜索平台,的确非常实用方便.我们今天在这里要讨论的是如何做数据备份和type删除.我的ES的版本是2.4.1. ES的备份,可不像MySQL的mysqldump这么 ...
- 【Mongodb】数据库操作--备份、还原、导出和导入
文章转载自点这里 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. mongo ...
- java通过jxls框架实现导入导出excel
//使用jxls报表生成工具,把java实体类导出生成 Excel文件或导入 Excel 插入数据库 02 03//读取04 05public class ReadExcel {06 private ...
随机推荐
- 【cube】SSAS(分析服务)优化手册
优化前注意事项 1.数据质量.数据仓库中维度表的数据质量要严格保证.比如店仓的大区.省区.管理城市等属性和店仓代码没有一对多的上下级关系,这样在设计店仓维度时,就无法建立有效的层次结构.这会拖慢查询时 ...
- 夺命雷公狗---DEDECMS----14dedecms首页导航条的完成
我们的首页完成了,那么下一步就开始创建一个模型了, 添加好电影模型后我们来给他添加一些字段,这些字段主要还是要看我们的项目需求来添加的,因为我们的项目里有: 我们在项目中要用得上这些字段,所以要对他们 ...
- php 下载保存文件保存到本地的两种方法
第一种: 1 <? ?> 或 <?php //下载文件保存到本地//www.jbxue.comfunction downfile($fileurl){ob_start(); $fil ...
- .NET 通过SmtpClient发送邮件 提示 4.7.1 service unavailable try again later 解决办法
最近用C#的SmtpClient发送电子邮件碰到这个错误: 正在处理错误. 服务器响应为:4.7.1 Service unavailable - try again later 换了其他的SMTP服务 ...
- (一)MapReduce篇之InputFormat,InputSplit,RecordReader(转)
平时我们写MapReduce程序的时候,在设置输入格式的时候,总会调用形如job.setInputFormatClass(KeyValueTextInputFormat.class);来保证输入文件按 ...
- const修饰虚函数
[1]程序1 #include <iostream> using namespace std; class Base { public: ; }; class Test : public ...
- CentOS修改主机名和网络信息
1.修改主机名称 [root@centos ~]# vim /etc/sysconfig/network打开文件,修改以下内容并保存 NETWORKING=yes #使用网络 HOSTNAME=cen ...
- linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59416.html linux设备驱动归纳总结(三):1.字符型设备之设备申请 操作系统:Ubunru ...
- 阿里BCG重磅报告《人工智能,未来致胜之道》
阿里BCG重磅报告<人工智能,未来致胜之道> 阿里云研究中心.波士顿咨询公司以及Alibaba Innovation Ventures合作共同推出的<人工智能:未来制胜之道>这 ...
- Linux下jdk的配置
首先将*.tar.gz压缩包解压 命令:tar -xzvf *.tar.gz假设得到的文件夹为java 将其移动到/usr/中 命令为:sudo mv java /usr/ 然后设置环境变量: sud ...