Эффективный анализ и чтение CSV на Java с использованием CSVParser и CSVReader

Чтобы анализировать и читать файлы CSV в Java, вы можете использовать классы CSVParserи CSVReaderиз библиотеки Apache Commons CSV. Чтобы использовать эту библиотеку, вам нужно будет добавить соответствующую зависимость в ваш проект. Вот зависимость Maven, которую вы можете включить в файл pom.xmlвашего проекта:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.9.0</version>
</dependency>

После добавления зависимости вы можете начать использовать классы CSVParserи CSVReaderдля анализа и чтения файлов CSV. Вот несколько распространенных методов, которые можно использовать с примерами кода:

  1. Разбор CSV-файла с помощью CSVParser:

В этом примере показано, как анализировать CSV-файл с помощью класса CSVParser:

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class CSVParserExample {
    public static void main(String[] args) {
        try {
            Reader reader = new FileReader("data.csv");
            CSVParser csvParser = new CSVParser(reader, CSVFormat.DEFAULT);
            for (CSVRecord csvRecord : csvParser) {
                String column1 = csvRecord.get(0);
                String column2 = csvRecord.get(1);
                // Process the data
            }
            csvParser.close();
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. Чтение CSV-файла с помощью CSVReader:

В этом примере показано, как читать CSV-файл с помощью класса CSVReader:

import org.apache.commons.csv.CSVReader;
import java.io.FileReader;
import java.io.IOException;
public class CSVReaderExample {
    public static void main(String[] args) {
        try {
            FileReader fileReader = new FileReader("data.csv");
            CSVReader csvReader = new CSVReader(fileReader);
            String[] nextRecord;
            while ((nextRecord = csvReader.readNext()) != null) {
                String column1 = nextRecord[0];
                String column2 = nextRecord[1];
                // Process the data
            }
            csvReader.close();
            fileReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Эти примеры демонстрируют базовое использование CSVParserи CSVReaderдля анализа и чтения файлов CSV. Вы можете настроить CSVFormatи адаптировать код для обработки различных сценариев, таких как обработка заголовков, пользовательских разделителей и т. д.