[java] OpenCSV를 사용하여 CSV 파일의 빈 행을 제거하는 방법은?
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;

import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;

public class RemoveEmptyRows {

    public static void main(String[] args) {
        String inputFilePath = "input.csv";
        String outputFilePath = "output.csv";

        try (CSVReader reader = new CSVReader(new FileReader(inputFilePath)); 
                CSVWriter writer = new CSVWriter(new FileWriter(outputFilePath))) {

            List<String[]> lines = reader.readAll();

            // Remove empty rows
            lines.removeIf(line -> line.length == 0 || (line.length == 1 && line[0].isEmpty()));

            // Write the updated lines to the output file
            writer.writeAll(lines);

            System.out.println("Empty rows removed successfully!");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예시 코드에서 우리는 input.csv 파일에서 데이터를 읽어와 빈 행을 제거한 후 output.csv 파일로 쓰고 있습니다. removeIf 메서드를 사용하여 빈 행을 제거하는데, line 배열의 길이가 0이거나(빈 행), 길이가 1이면서 비어있는 문자열인 경우 빈 행으로 간주합니다.

빈 행이 제거된 후의 CSV 파일은 output.csv 파일에 저장됩니다.