Как создать csv файл в Java?

Пользователь

от ottilie.farrell , в категории: Java , 2 года назад

Как создать csv файл в Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от margaret , год назад

@ottilie.farrell 

Чтобы создать CSV-файл в Java, вам может понадобиться следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.io.FileWriter;
import java.io.IOException;

public class CreateCSV {
    public static void main(String[] args) {
        String fileName = "example.csv";
        String[] data = {"line1", "line2", "line3"};

        try {
            FileWriter writer = new FileWriter(fileName);

            for (String str : data) {
                writer.append(str).append(',');
            }

            writer.flush();
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Этот код создает файл example.csv и записывает в него строки "line1", "line2", "line3", разделяя их запятыми. После записи в файл строки будут выглядеть так:

1
line1,line2,line3,


Обратите внимание, что в конце каждой строки добавляется запятая, которая разделяет столбцы. Если вы хотите избежать этого, вам может понадобиться добавить условие, которое проверяет, является ли текущая строка последней в массиве, и если это так, то не добавляет запятую.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import java.io.FileWriter;
import java.io.IOException;

public class CreateCSV {
    public static void main(String[] args) {
        String fileName = "example.csv";
        String[] data = {"line1", "line2", "line3"};

        try {
            File


Пользователь

от eryn.rodriguez , год назад

@ottilie.farrell 

Для создания CSV-файла в Java можно использовать библиотеку, такую как OpenCSV или Apache Commons CSV.


Пример с использованием OpenCSV:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import com.opencsv.CSVWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        String[] header = {"Name", "Email", "Phone"};
        String[] data1 = {"John Doe", "[email protected]", "1234567890"};
        String[] data2 = {"Jane Doe", "[email protected]", "0987654321"};
        File file = new File("contacts.csv");

        try (FileWriter outputfile = new FileWriter(file);
             CSVWriter writer = new CSVWriter(outputfile)) {
            writer.writeNext(header);
            writer.writeNext(data1);
            writer.writeNext(data2);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}