`
羊小绵
  • 浏览: 51900 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

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操作(导出和导入)
*
*/
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/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);
            }
        }
    }
   
   
}
分享到:
评论

相关推荐

    javaCSV导入导出

    javaCSV导入导出 ... File file = new File("C:/name.csv"); FileOutputStream out = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(out); BufferedWriter bw = new ...

    javacsv导入导出代码

    csv 总结导入导出 已经自测过,没有问题

    java实现CSV文件导入与导出功能

    Java 实现 CSV 文件导入与导出功能 Java 中实现 CSV 文件导入与导出的知识点主要包括以下几个方面: 一、CSV 文件简介 ...CSV 文件导入导出功能可以用于各种业务场景,如数据导入、数据导出、数据报表等。

    csv文件导入导出工具类

    csv的文件的导入导出可能会用的到,需要的可以下一下把

    用JAVA将数据库导入csv程序

    在IT行业中,数据的导入与导出是常见的操作,特别是在数据分析、备份或系统迁移时。本项目关注的是如何使用Java编程语言将数据库中的记录导出为CSV(Comma Separated Values)格式的文件。CSV因其通用性和易于处理的...

    java导出,导入CSV

    接下来,我们将讨论如何使用`javacsv`库来实现CSV文件的导出和导入。 1. **CSV导出**: - 创建一个`CSVWriter`对象,通常需要传入一个`FileWriter`实例,指定要写入的文件路径。 - 使用`CSVWriter`的`writeNext()...

    Csv导入导出.rar

    本压缩包“Csv导入导出.rar”提供了一套关于CSV文件导入与导出的解决方案,特别地,它可能包含了类别选择功能,使得数据处理更具灵活性。 1. CSV文件结构: CSV文件的简单结构使其易于读写,通常由列标题和数据行...

    Java CSV批量导出工具类

    在Java编程环境中,CSV(Comma Separated Values)是一种常见的数据交换格式,广泛用于数据导入导出。"Java CSV批量导出工具类"是专为处理大量数据而设计的,尤其适用于那些需要处理千万级别的大数据集的情况。这个...

    javatools数据导入导出工具

    3. **数据导入导出功能**:JavaTools的核心功能是数据导入和导出,它可以读取CSV、Excel、XML、JSON等格式的文件,并将数据导入到数据库中,同时也可以将数据库中的数据导出为这些文件格式,方便数据交换和备份。...

    java导入导出Excel,CSV必需的包

    这里提到的三个必需的包分别是`jexcelapi`、`jxl`和`javacsv`,它们为Java开发者提供了方便的API来操作Excel和CSV文件。 1. **jexcelapi**: - `jexcelapi`库是Java中处理Excel文件的一个开源项目,支持读取和写入...

    java编写的数据库导入和导出工具

    - 如果工具支持命令行参数,那么可能使用了Java的命令行解析库,如Apache Commons CLI,允许用户通过命令行参数指定数据库连接信息和操作选项。 8. **测试**: - JUnit或TestNG用于编写单元测试,确保代码功能...

    高性能导出csv

    CSV(Comma Separated Values)是一种常见的数据交换格式,它以纯文本形式存储表格数据,易于阅读和编写,同时也能够被各种程序轻松导入。在IT领域,高效地导出CSV文件是一项重要的技能,特别是在大数据处理、数据...

    javacsv-2.1.jar

    JavaCSV库是一个用于Java编程语言的数据导入和导出工具,主要功能是帮助开发者处理CSV(逗号分隔值)文件...在实际项目中,正确使用JavaCSV可以帮助团队更快地完成数据导入导出任务,减少错误,并提高代码的可维护性。

    java csv共用javacsv.jar.zip

    在实际使用中,开发者首先需要将`javacsv.jar`添加到项目的类路径中,然后就可以直接引入库内的类和方法,进行CSV文件的读写操作。例如,创建一个`CsvWriter`实例,写入一行数据,然后关闭流,可以这样实现: ```...

    java操作CSV文件

    它简单易用且跨平台兼容性好,常被用于导入导出数据、数据分析等场景。在Java中,处理CSV文件有多种方式,本篇文章将详细介绍如何利用`opencsv-2.3.jar`库来进行高效的数据读写操作。 #### 二、所需库与环境准备 - ...

    javacsv2.1实例

    Java CSV库,如javacsv 2.1,是处理CSV(逗号分隔值)文件的工具,这种格式在数据交换中非常常见,尤其在导入导出表格数据时。CSV因其简单、通用且易于处理的特性而广泛使用。下面我们将深入探讨javacsv 2.1库以及...

    easypoi导入导出实例

    它提供了方便快捷的Excel导入导出功能,使得在Java应用中处理Excel数据变得非常简单。在这个“easypoi导入导出实例”中,我们能够看到一个完整的项目示例,包括了必要的代码和一个名为"user.xls"的Excel模板文件,...

    csv解析 javacsv2.1解析csv文件的方法

    CSV(Comma Separated Values)文件是一种常见的数据存储格式,广泛用于数据交换和导入导出。在Java中,处理CSV文件通常需要借助第三方库,如本案例中的`javacsv`库,版本2.1。这个库提供了一系列方法来帮助我们方便...

    javacsv.zip

    在实际应用中,使用"javacsv.jar"库时,你需要将其添加到项目的类路径中,然后就可以导入相关的类和方法来操作CSV文件。例如,以下是一个简单的示例,展示了如何使用`CSVReader`和`CSVWriter`: ```java import ...

    Java操作csv文件

    总结,Java操作CSV文件涉及导入合适的库、读取与写入数据、处理记录和列,以及错误处理等多个环节。Apache Commons CSV库提供了一套完整的工具,使这些任务变得简单易行。在实际开发中,理解并熟练运用这些知识,能...

Global site tag (gtag.js) - Google Analytics