当前位置:首页 > Java

java如何使用csv

2026-03-24 20:17:54Java

使用 Java 处理 CSV 文件

Java 提供了多种方式来处理 CSV 文件,以下是几种常见的方法:

使用 OpenCSV 库

OpenCSV 是一个流行的 Java 库,专门用于处理 CSV 文件。以下是基本的使用示例:

java如何使用csv

import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

// 读取 CSV 文件
try (CSVReader reader = new CSVReader(new FileReader("input.csv"))) {
    String[] nextLine;
    while ((nextLine = reader.readNext()) != null) {
        for (String value : nextLine) {
            System.out.print(value + " ");
        }
        System.out.println();
    }
}

// 写入 CSV 文件
try (CSVWriter writer = new CSVWriter(new FileWriter("output.csv"))) {
    String[] header = {"Name", "Age", "City"};
    writer.writeNext(header);
    String[] data = {"John", "25", "New York"};
    writer.writeNext(data);
}

使用 Apache Commons CSV

Apache Commons CSV 是另一个强大的库,支持多种 CSV 格式:

java如何使用csv

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVPrinter;
import org.apache.commons.csv.CSVRecord;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

// 读取 CSV 文件
try (Reader reader = new FileReader("input.csv");
     CSVParser csvParser = new CSVParser(reader, CSVFormat.DEFAULT)) {
    for (CSVRecord record : csvParser) {
        String name = record.get(0);
        String age = record.get(1);
        System.out.println("Name: " + name + ", Age: " + age);
    }
}

// 写入 CSV 文件
try (Writer writer = new FileWriter("output.csv");
     CSVPrinter csvPrinter = new CSVPrinter(writer, CSVFormat.DEFAULT)) {
    csvPrinter.printRecord("Name", "Age", "City");
    csvPrinter.printRecord("John", 25, "New York");
}

使用 Java 原生方法

如果不想依赖外部库,可以使用 Java 原生的方法处理 CSV 文件:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

// 读取 CSV 文件
try (BufferedReader br = new BufferedReader(new FileReader("input.csv"))) {
    String line;
    while ((line = br.readLine()) != null) {
        String[] values = line.split(",");
        for (String value : values) {
            System.out.print(value + " ");
        }
        System.out.println();
    }
}

// 写入 CSV 文件
try (FileWriter writer = new FileWriter("output.csv")) {
    writer.append("Name,Age,City\n");
    writer.append("John,25,New York\n");
}

处理包含特殊字符的 CSV

如果 CSV 文件包含逗号或引号等特殊字符,建议使用专门的库(如 OpenCSV 或 Apache Commons CSV)来处理:

// 使用 OpenCSV 处理带引号的字段
CSVReader reader = new CSVReaderBuilder(new FileReader("input.csv")).withSkipLines(1).build();
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
    System.out.println(Arrays.toString(nextLine));
}

以上方法可以根据具体需求选择使用。对于简单的 CSV 文件,Java 原生方法可能足够;对于复杂的 CSV 文件,推荐使用专门的库。

分享给朋友:

相关文章

java如何读取文件

java如何读取文件

读取文件的常用方法 Java提供了多种读取文件的方式,适用于不同场景和需求。以下是几种常见的方法: 使用FileInputStream和BufferedInputStream读取二进制文件 try…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

如何编写java

如何编写java

编写Java程序的基本步骤 安装Java开发工具包(JDK),确保系统环境变量配置正确。可以从Oracle官网下载最新版本的JDK并进行安装。 选择一个合适的集成开发环境(IDE),如Eclipse…

react如何使用ueditor

react如何使用ueditor

安装 UEditor 下载 UEditor 的官方版本,解压后将整个文件夹放入项目的 public 目录下。确保可以通过 URL 直接访问 UEditor 的资源文件,例如 public/uedito…

如何系统的学习java

如何系统的学习java

学习Java的基础知识 Java的基础知识包括语法、数据类型、变量、运算符、控制流语句等。可以通过官方文档或入门书籍如《Java核心技术》来掌握这些内容。编写简单的程序练习基础语法,例如打印“Hell…

react如何使用图片

react如何使用图片

在React中使用图片的方法 静态图片导入 在React组件中可以直接通过import导入图片文件,这种方式适用于已知的静态资源。导入后,图片会被处理为模块,可通过src属性引用。 import R…