• Java CSV操作(导出和导入)


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

    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("
    ");
                    }
                }
                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
         */
        @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/ljq.csv"), dataList);
            System.out.println(isSuccess);
        }
        
        /**
         * CSV导出
         * 
         * @throws Exception
         */
        @Test
        public 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);
                }
            }
        }
        
        
    }
    复制代码
  • 相关阅读:
    datatables ajax异步分页
    redis实现消息发布/订阅
    使用Tomcat+Redis来实现集群部署中的Session共享问题
    工具:从一个文件夹中复制jar到另一个文件夹中
    CentOS配置上网
    热力图与百度地图扩展实例
    【转】JavaWeb编码之get方式中文乱码问题
    数字转换大写核心类
    详说 Navicat for MySQL 快捷键
    MYBATIS常用的sql事例
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/6722894.html
Copyright © 2020-2023  润新知