Home  >  Article  >  Java  >  Detailed explanation of reading and writing CSV files in Java using OpenCSV

Detailed explanation of reading and writing CSV files in Java using OpenCSV

王林
王林Original
2023-12-20 09:36:521525browse

Java 中使用 OpenCSV 实现 CSV 文件的读写操作指南

Java is a widely used programming language, and developers often need to deal with various data formats. CSV (Comma-Separated Values) is a common data format widely used in data exchange and storage. In Java, we can use the OpenCSV library to read and write CSV files.

OpenCSV is an easy-to-use open source library that provides a convenient API to process CSV data. This article will introduce how to use OpenCSV to read and write CSV files in Java.

1. Add OpenCSV dependency

First, we need to add OpenCSV dependency to the project. Project dependencies can be managed through Maven, just add the following code in the pom.xml file:

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>5.5.1</version>
</dependency>

2. Read CSV files

To read CSV files, we need to create A CSVReader object and use it to read data from the file. The following is a simple example:

import com.opencsv.CSVReader;

public class CSVReaderExample {
    public static void main(String[] args) {
        try {
            CSVReader reader = new CSVReader(new FileReader("data.csv"));
            String[] line;
            while ((line = reader.readNext()) != null) {
                for (String value : line) {
                    System.out.print(value + " ");
                }
                System.out.println();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

In the above example, we first create a CSVReader object and pass in the path of the CSV file to be read. We then use the readNext() method to read the data in the file line by line until we reach the end of the file.

3. Write to CSV file

To write to CSV file, we need to create a CSVWriter object and use it to write data. The following is a simple example:

import com.opencsv.CSVWriter;

public class CSVWriterExample {
    public static void main(String[] args) {
        try {
            CSVWriter writer = new CSVWriter(new FileWriter("data.csv"));
            String[] line1 = {"John", "Doe", "30"};
            String[] line2 = {"Jane", "Smith", "25"};
            writer.writeNext(line1);
            writer.writeNext(line2);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

In the above example, we first create a CSVWriter object and pass in the path of the CSV file to be written. Then, we use the writeNext() method to write a row of data. Finally, we close the CSVWriter object.

4. Using CSVReaderOptions and CSVWriterOptions

In addition to basic read and write operations, OpenCSV also provides some advanced functions, such as CSVReaderOptions and CSVWriterOptions. Using these options, we can set properties such as delimiters, quotes, etc. of the CSV file.

The following is an example of using CSVReaderOptions:

import com.opencsv.CSVReader;
import com.opencsv.CSVReaderBuilder;

public class CSVReaderOptionsExample {
    public static void main(String[] args) {
        try {
            CSVReaderBuilder builder = new CSVReaderBuilder(new FileReader("data.csv"))
                    .withSeparator(',')
                    .withQuoteChar('"')
                    .withSkipLines(1);
            CSVReader reader = builder.build();
            String[] line;
            while ((line = reader.readNext()) != null) {
                for (String value : line) {
                    System.out.print(value + " ");
                }
                System.out.println();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

In the above example, we first create a CSVReaderBuilder object and pass in the path of the CSV file to be read. Then, we use the withSeparator() method to set the separator to comma, the withQuoteChar() method to set the quotation marks to double quotes, and the withSkipLines() method to set Ignore the first few lines of data in the file.

Similarly, we can also use CSVWriterOptions to set options for writing CSV files.

Conclusion

OpenCSV is a powerful and easy-to-use library that makes it easy to read and write CSV files. This article presents a guide to reading and writing CSV files using OpenCSV in Java. I hope this article helps you get better at working with CSV data.

The above is the detailed content of Detailed explanation of reading and writing CSV files in Java using OpenCSV. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn