배경
- 여러 File들을 읽어서 하나의 압축 파일로 만들 수 없을까?
참고
- http://www.baeldung.com/java-compress-and-uncompress
Junit Test 환경에서 로컬에 파일쓰기
@Test public void testWriteLocalZipFile() throws Exception { String path = "D:\\temp\\yst"; FileOutputStream zipFileOutputStream = new FileOutputStream(path + "/files.zip"); ZipOutputStream zipOutputStream = new ZipOutputStream(zipFileOutputStream); ZipEntry zipEntry = new ZipEntry("test.txt");
zipOutputStream.putNextEntry(zipEntry); zipOutputStream.write("하하하하하\n쓰자".getBytes(StandardCharsets.UTF_8)); ZipEntry zipEntry2 = new ZipEntry("test2.txt");
zipOutputStream.putNextEntry(zipEntry2); zipOutputStream.write("두번째에여...".getBytes(StandardCharsets.UTF_8)); zipOutputStream.close(); zipFileOutputStream.close(); }
Zip파일을 저장할 FileOutputStream과 ZipOutputStream을 생성합니다.
ZipEntry를 통해 Zip파일에 저장할 파일들을 구별합니다.
첫 번째 ZipEntry의 파일명은 test.txt로 되고 write를 통해 test.txt에 내용이 들어갑니다.
두 번째 ZipEntry의 파일명은 test2.txt가 되고 동일한 과정을 진행합니다.
실제로 txt파일을 읽으면 내용도 잘 있는것을 확인할 수 있습니다.
'Java' 카테고리의 다른 글
[Json] Jackson을 이용해 추상, 인터페이스 객체 별로 구현체 구분하기 (0) | 2017.12.18 |
---|---|
[Java] Executor를 이용한 병렬 처리 (0) | 2016.10.31 |
모델 클래스에 인터페이스 구현 설계에 대한 내용 (0) | 2016.08.24 |
package javax.crypto does not exist (0) | 2016.08.17 |
MySQL과 Java AES 128 암호/복호 동기화하기 (대칭키, 양방향) (0) | 2016.08.11 |