[java] OpenCSV를 사용하여 CSV 파일의 데이터를 임의로 압축하는 방법은?
이 문제를 해결하기 위해 우리는 OpenCSV와 Java의 기본적인 파일 압축 기능을 결합하여 CSV 파일의 데이터를 압축할 수 있습니다.
먼저, OpenCSV 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우 다음 종속성을 pom.xml 파일에 추가합니다:
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.3</version>
</dependency>
CSV 파일을 읽고 압축하는 Java 코드를 작성하려면 다음 단계를 따르세요:
- CSV 파일을 읽기 위해 OpenCSV를 사용합니다:
CSVReader csvReader = new CSVReader(new FileReader("input.csv")); List<String[]> csvData = csvReader.readAll(); csvReader.close();
- 압축할 파일의 경로와 압축 파일의 경로를 설정합니다:
String inputFilePath = "input.csv"; String outputFilePath = "output.zip";
- FileOutputStream을 사용하여 압축 파일을 생성합니다. 그리고 ZipOutputStream으로 데이터를 압축합니다:
ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(outputFilePath)); ZipEntry zipEntry = new ZipEntry(inputFilePath); zipOutputStream.putNextEntry(zipEntry);
- CSV 데이터를 ZipOutputStream에 씁니다:
CSVWriter csvWriter = new CSVWriter(new OutputStreamWriter(zipOutputStream)); csvWriter.writeAll(csvData); csvWriter.close();
- ZipOutputStream을 닫습니다:
zipOutputStream.close();
모든 단계를 거치면 output.zip
라는 이름의 압축 파일이 생성됩니다. 이 파일을 어디에서나 읽을 수 있도록 파일 경로를 조정하십시오.
이와 같이 OpenCSV와 Java의 파일 압축 기능을 결합하여 CSV 파일의 데이터를 압축할 수 있습니다. 번거로운 작업을 자동화하고 파일 크기를 줄이는 효과적인 방법입니다.