Java:
Работа с CSV

Как:

Давайте прочитаем и запишем файлы CSV в Java, используя широко используемую библиотеку OpenCSV. Сначала добавьте зависимость в ваш pom.xml, если вы используете Maven.

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>5.6</version> <!-- Проверьте последнюю версию -->
</dependency>

Запись файла CSV

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

public class CSVWritingExample {
    public static void main(String[] args) {
        String[] заголовок = {"Имя", "Возраст", "Страна"};
        String[] запись1 = {"Алиса", "24", "США"};
        String[] запись2 = {"Боб", "19", "Канада"};

        try (CSVWriter writer = new CSVWriter(new FileWriter("data.csv"))) {
            writer.writeNext(заголовок);
            writer.writeNext(запись1);
            writer.writeNext(запись2);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Чтение файла CSV

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;

public class CSVReadingExample {
    public static void main(String[] args) {

        try (CSVReader reader = new CSVReader(new FileReader("data.csv"))) {
            List<String[]> r = reader.readAll();
            r.forEach(x -> System.out.println(x[0] + ", " + x[1] + ", " + x[2]));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Пример вывода после чтения:

Имя, Возраст, Страна
Алиса, 24, США
Боб, 19, Канада

Глубже

Исторически файлы CSV использовались ещё с первых дней персональных компьютеров, что делает их своего рода лингва франка для обмена данными. Такие альтернативы, как JSON, XML или даже форматы Excel, могут предложить более продвинутые функции, но простота CSV обеспечивает его выживание. При работе с Java, хотя OpenCSV является популярным выбором, вы также можете использовать java.util.Scanner или java.io.BufferedReader для очень базовых задач, хотя вам придется заниматься разбором самостоятельно. Apache Commons CSV - это еще одна мощная библиотека, доступная для аналогичных задач.

См. также