当前位置:首页 > Java

java如何存csv

2026-03-23 05:30:04Java

使用 Java 写入 CSV 文件

Java 提供了多种方式将数据写入 CSV 文件,以下是几种常见的方法:

使用 FileWriter 和手动拼接字符串

通过 FileWriter 直接写入字符串,手动处理逗号分隔和换行符:

import java.io.FileWriter;
import java.io.IOException;

public class CsvWriterExample {
    public static void main(String[] args) {
        String csvFile = "output.csv";
        try (FileWriter writer = new FileWriter(csvFile)) {
            writer.append("Name,Age,Email\n");
            writer.append("John,30,john@example.com\n");
            writer.append("Jane,25,jane@example.com\n");
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 OpenCSV 库

OpenCSV 是一个流行的第三方库,简化了 CSV 文件的读写操作:

  1. 添加依赖(Maven):

    <dependency>
     <groupId>com.opencsv</groupId>
     <artifactId>opencsv</artifactId>
     <version>5.7.1</version>
    </dependency>
  2. 写入 CSV 文件:

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

public class OpenCsvExample { public static void main(String[] args) { String csvFile = "output.csv"; try (CSVWriter writer = new CSVWriter(new FileWriter(csvFile))) { String[] header = {"Name", "Age", "Email"}; writer.writeNext(header);

        String[] record1 = {"John", "30", "john@example.com"};
        String[] record2 = {"Jane", "25", "jane@example.com"};
        writer.writeNext(record1);
        writer.writeNext(record2);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}


#### 使用 Apache Commons CSV

Apache Commons CSV 是另一个强大的 CSV 处理库:

1. 添加依赖(Maven):
```xml
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.9.0</version>
</dependency>
  1. 写入 CSV 文件:
    
    import org.apache.commons.csv.CSVFormat;
    import org.apache.commons.csv.CSVPrinter;
    import java.io.FileWriter;
    import java.io.IOException;

public class CommonsCsvExample { public static void main(String[] args) { String csvFile = "output.csv"; try (FileWriter writer = new FileWriter(csvFile); CSVPrinter printer = new CSVPrinter(writer, CSVFormat.DEFAULT .withHeader("Name", "Age", "Email"))) { printer.printRecord("John", 30, "john@example.com"); printer.printRecord("Jane", 25, "jane@example.com"); } catch (IOException e) { e.printStackTrace(); } } }

java如何存csv


#### 使用 Java 8 的 Stream API

结合 Java 8 的 Stream API 和 `Files` 类可以简洁地写入 CSV:

```java
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;

public class Java8CsvWriter {
    public static void main(String[] args) {
        String csvFile = "output.csv";
        List<String> lines = Arrays.asList(
                "Name,Age,Email",
                "John,30,john@example.com",
                "Jane,25,jane@example.com"
        );
        try {
            Files.write(Paths.get(csvFile), lines);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意事项

  • 处理特殊字符:如果数据包含逗号或换行符,需要使用引号包裹字段。
  • 性能考虑:对于大数据量,建议使用缓冲流(如 BufferedWriter)或专门的库(如 OpenCSV)。
  • 编码问题:确保文件编码一致(通常使用 UTF-8)。
  • 依赖管理:如果使用第三方库,确保正确添加依赖项。

标签: javacsv
分享给朋友:

相关文章

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

如何学好java

如何学好java

理解基础概念 掌握Java的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…