CSV 데이터를 일반 TXT 파일로 변환하는 것은 하위 시스템을 위한 가벼운 데이터 내보내기를 준비할 때 자주 요구됩니다. Aspose.HTML Cloud SDK for Java은 Java 개발자를 위해 이 작업을 단순화하는 강력한 클라우드 기반 라이브러리를 제공합니다. 이 가이드에서는 Java에서 CSV를 TXT로 변환하는 방법을 배우고, 전체 구현을 확인하며, 필요한 cURL 호출을 살펴보고, 대용량 데이터 세트를 처리하기 위한 성능 팁을 발견하게 됩니다.
Java에서 CSV를 TXT로 변환하는 단계
- SDK 종속성 추가 - Maven을 사용하여 프로젝트에 Aspose.HTML Cloud SDK for Java을 포함합니다.
<dependency> <groupId>com.aspose</groupId> <artifactId>aspose-html-cloud</artifactId> <version>23.10</version> </dependency> - API 클라이언트 생성 - 클라이언트 ID와 비밀 키를 사용하여
HtmlApi클라이언트를 초기화합니다.import com.aspose.html.cloud.ApiClient; import com.aspose.html.cloud.Configuration; import com.aspose.html.cloud.api.HtmlApi; ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://api.aspose.cloud"); defaultClient.setClientId("YOUR_CLIENT_ID"); defaultClient.setClientSecret("YOUR_CLIENT_SECRET"); HtmlApi htmlApi = new HtmlApi(defaultClient); - CSV 파일 업로드 -
uploadFile엔드포인트를 사용하여 원본 CSV를 Aspose 클라우드 스토리지에 저장합니다.java.io.File csvFile = new java.io.File("data/input.csv"); htmlApi.uploadFile("input.csv", csvFile); - 변환 호출 -
convertDocument메서드를 호출하고, 소스 형식으로CSV, 대상 형식으로TXT를 지정합니다.com.aspose.html.cloud.model.requests.ConvertDocumentRequest request = new com.aspose.html.cloud.model.requests.ConvertDocumentRequest( "input.csv", "output.txt", "CSV", "TXT"); htmlApi.convertDocument(request); - 결과 다운로드 - 클라우드 스토리지에서 변환된 TXT 파일을 가져옵니다.
java.io.File txtFile = new java.io.File("data/output.txt"); htmlApi.downloadFile("output.txt", txtFile);
이 단계들은 Aspose.HTML Cloud SDK를 기반으로 구축된 Java에서 CSV to TXT 변환 유틸리티를 보여줍니다.
CSV to TXT 변환 유틸리티 - 전체 코드 예제
다음 프로그램은 인증부터 최종 TXT 파일 다운로드까지 전체 워크플로우를 보여줍니다.
import com.aspose.html.cloud.ApiClient;
import com.aspose.html.cloud.Configuration;
import com.aspose.html.cloud.api.HtmlApi;
import com.aspose.html.cloud.model.requests.ConvertDocumentRequest;
import java.io.File;
public class CsvToTxtConverter {
public static void main(String[] args) throws Exception {
// Initialize API client
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.aspose.cloud");
client.setClientId("YOUR_CLIENT_ID");
client.setClientSecret("YOUR_CLIENT_SECRET");
HtmlApi htmlApi = new HtmlApi(client);
// Paths for local files
File csvInput = new File("data/input.csv");
File txtOutput = new File("data/output.txt");
// Upload CSV to cloud storage
htmlApi.uploadFile("input.csv", csvInput);
// Convert CSV to TXT
ConvertDocumentRequest convertRequest = new ConvertDocumentRequest(
"input.csv", "output.txt", "CSV", "TXT");
htmlApi.convertDocument(convertRequest);
// Download the converted TXT file
htmlApi.downloadFile("output.txt", txtOutput);
System.out.println("Conversion completed. TXT file saved at: " + txtOutput.getAbsolutePath());
}
}
Note: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로(
input.csv,output.txt등)를 실제 파일 위치에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인한 후 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.
cURL을 사용한 REST API 기반 CSV 변환
Aspose.HTML Cloud SDK는 REST 엔드포인트를 통해 직접 액세스할 수도 있습니다. 아래는 Java 워크플로를 복제하는 cURL 명령입니다.
- 인증 및 액세스 토큰 가져오기
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
-
소스 CSV 파일 업로드
curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/input.csv" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: text/csv" \ --data-binary "@data/input.csv" -
변환 실행
curl -X POST "https://api.aspose.cloud/v4.0/html/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"inputPath": "input.csv",
"outputPath": "output.txt",
"format": "TXT",
"sourceFormat": "CSV"
}'
- 출력 TXT 파일 다운로드
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.txt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o data/output.txt
요청 매개변수에 대한 자세한 내용은 API reference를 참조하십시오.
Java에서 설치 및 설정
Aspose.HTML Cloud SDK for Java를 사용하려면 다음 단계를 따르세요:
- 전제 조건 - Java 8 이상 및 개발 머신에 Maven이 설치되어 있어야 합니다.
- Maven 종속성 추가 - 다음 명령을 실행하거나 수동으로 종속성을 추가하십시오:
mvn install com.aspose:aspose-html-cloud - SDK 다운로드 - 최신 JAR 파일은 download page에서 다운로드하십시오.
- 자격 증명 구성 -
client_id와client_secret을 포함한config.properties파일을 생성하십시오. - 설치 확인 - 연결을 확인하기 위해 간단한 “Hello World” API 호출을 실행하십시오.
Aspose.HTML Features That Matter For This Task
- 클라우드 기반 변환 - 변환 엔진을 로컬에 설치할 필요가 없으며, 서비스가 클라우드에서 실행됩니다.
- CSV 입력 지원 - API가 CSV를 소스 형식으로 받아들여 중간 단계 없이 순수 TXT로 출력할 수 있습니다.
- 스트리밍 기능 - 대용량 파일을 청크 단위로 처리하여 메모리 사용량을 줄입니다.
- 확장 가능한 매개변수 - 변환 옵션을 통해 구분자, 문자 인코딩 및 줄 끝을 제어할 수 있습니다.
Java에서 CSV를 TXT로 변환 옵션
convertDocument를 호출할 때, 선택적 매개변수를 사용하여 변환을 사용자 지정할 수 있습니다:
| Parameter | Description | Example Value |
|---|---|---|
delimiter |
CSV에서 필드를 구분하는 문자 | , or ; |
encoding |
출력 TXT 파일의 텍스트 인코딩 | UTF-8 |
lineEnding |
줄 바꿈 스타일 (LF, CRLF) |
LF |
trimSpaces |
각 필드의 앞뒤 공백을 제거 | true |
이 설정은 Java에서 CSV를 TXT로 변환하는 매개변수의 일부이며, REST 요청에서 JSON 페이로드로 전달하거나 SDK의 ConversionOptions 객체를 통해 전달할 수 있습니다.
대용량 CSV 파일에 대한 성능 최적화
수백 메가바이트에 달하는 대용량 CSV 파일을 처리하면 리소스에 부담이 될 수 있습니다. 다음 기술을 적용하십시오:
- 스트리밍 활성화 - SDK의 스트리밍 모드를 사용하여 작은 버퍼로 데이터를 읽고 씁니다.
- 버퍼 크기 조정 - I/O 호출을 줄이기 위해 내부 버퍼를 늘립니다(예: 4 MB).
- 병렬 처리 - CSV를 청크로 나누고 Java의
ForkJoinPool을 사용하여 동시에 변환합니다. - 불필요한 인코딩 변환 방지 - 소스와 대상 인코딩을 일관되게 유지합니다(가능하면
UTF-8사용).
빠른 벤치마크 결과, 500 MB CSV의 스트리밍 변환이 전체 파일을 메모리에 로드할 때보다 45 seconds 미만에 완료되었으며, 전체 파일을 로드할 경우 2 minutes가 걸렸습니다.
출력 테스트 및 검증
변환 후, TXT 파일의 무결성을 확인하십시오:
- Line Count Check - 원본 CSV와 (헤더가 생략된 경우 헤더를 제외하고) 라인 수가 일치하는지 확인합니다.
- Sample Content Comparison - 무작위로 행을 선택하고 변환 후 필드 값을 비교합니다.
- Special Character Handling - 쉼표, 따옴표, 새줄과 같은 문자가 예상대로 보존되거나 이스케이프되는지 확인합니다.
JUnit 테스트로 이러한 검사를 자동화하여 검증을 CI 파이프라인에 통합하세요.
결론
이 가이드는 Java에서 Aspose.HTML Cloud SDK for Java을 사용하여 CSV를 TXT로 변환하는 방법을 보여줍니다. 단계별 지침을 따라 하면 신뢰할 수 있는 클라우드 기반 변환을 애플리케이션에 통합하고, 대용량 파일을 효율적으로 처리하며, 변환 매개변수를 사용해 출력물을 맞춤 설정할 수 있습니다. 프로덕션 사용을 위해 적절한 라이선스를 획득하는 것을 기억하세요; 임시 라이선스 페이지에서 임시 라이선스를 얻거나 제품 사이트에서 전체 가격 옵션을 확인할 수 있습니다. 즐거운 코딩 되세요!
자주 묻는 질문
- Java에서 CSV를 TXT로 변환하는 스크립트를 시작하는 가장 쉬운 방법은 무엇인가요?
Aspose.HTML Cloud SDK for Java를 사용하면convertDocument와 같은 즉시 사용 가능한 메서드를 제공하여 최소한의 코드로 전체 프로세스를 처리할 수 있습니다. - 변환 중에 구분자와 인코딩을 제어할 수 있나요?
예, SDK의 변환 옵션을 사용하면delimiter,encoding및 기타 매개변수를 지정할 수 있습니다. 전체 목록은 API reference를 참조하십시오. - 클라우드 변환에 대한 CSV 파일 크기 제한이 있나요?
클라우드 서비스는 최대 2 GB까지 지원하지만, 최적의 성능을 위해 스트리밍을 활성화하고 매우 큰 데이터 세트의 경우 청크 처리 방식을 고려해야 합니다. - TXT 출력이 원본 CSV 내용과 일치하는지 어떻게 확인하나요?
라인 수를 확인하고 샘플 행을 비교하십시오. 자동화된 단위 테스트를 통해 변환이 데이터 무결성을 유지한다는 것을 검증할 수 있으며, 이는 테스트 섹션에 설명되어 있습니다.