博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java CSV操作(导出和导入)
阅读量:5885 次
发布时间:2019-06-19

本文共 3843 字,大约阅读时间需要 12 分钟。

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

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
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
importCsv(File file){ List
dataList=new ArrayList
(); 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
dataList=new ArrayList
(); 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
dataList=CSVUtils.importCsv(new File("D:/test/ljq.csv")); if(dataList!=null && !dataList.isEmpty()){ for(String data : dataList){ System.out.println(data); } } } }
你可能感兴趣的文章
成熟的标志
查看>>
慢慢的才知道
查看>>
ubuntu12.04TLS安装CodeBlocks
查看>>
待看博客
查看>>
加解密技术基础
查看>>
nginx和php-fpm优化
查看>>
分享一个zookeeper批量启动脚本
查看>>
mysql 遇到问题
查看>>
测试系统磁盘预读对PostgreSQL性能的影响
查看>>
使用过的终端命令汇集
查看>>
博客群发软件--用 Windows Live Writer完美发布新浪、网易、blogcn、blogbus、cnbl
查看>>
dubbo 安装部署Windows
查看>>
eclipse 导入maven 父子项目
查看>>
maven基本要点
查看>>
通过 KVM+virt-manager配置双屏虚拟机(两套键盘。鼠标)
查看>>
Slmgr.vbs参数使用方法[转自windows10操作系统]
查看>>
打开远程桌面命令
查看>>
LAMP架构(nginx安装,默认虚拟主机,用户认证,域名重定向,nginx配置文件详解)...
查看>>
Spring Boot多数据源配置与使用
查看>>
Spring Data + Thymeleaf 3 + Bootstrap 4 实现分页器
查看>>