티스토리 뷰
들어가며
- 기존에 Apache Commons 라이브러리를 통해서 Zip 압축 기능을 구현했는데 파일을 각각 ZipArchiveEntry로 추가해줘야 하는 방식이었다.
public long compressZip(List<File> fileList, File targetFile) throws IOException {
try (ZipArchiveOutputStream zos = new ZipArchiveOutputStream(new FileOutputStream(targetFile))) {
int readSize;
byte[] buf = new byte[BUFFER_SIZE];
for (File file : fileList) {
ZipArchiveEntry ze = new ZipArchiveEntry(file.getName());
zos.putArchiveEntry(ze);
try (FileInputStream fis = new FileInputStream(file)) {
while ((readSize = fis.read(buf, 0, buf.length)) >= 0) {
zos.write(buf, 0, readSize);
}
zos.closeArchiveEntry();
}
}
}
return targetFile.length();
}
}
- 폴더 자체를 한번에 Zip으로 묶어주고 싶은데 파일을 전부 가져오려 하니 번거로움이 이만저만이 아니었다.
- 그래서 폴더 자체를 Zip으로 묶어주는 라이브러리를 찾아 공유하고자 한다.
방법
ZipUtil 사용
- ZipUtil 라이브러리는 폴더 자체를 Zip으로 묶을 수 있는 기능을 제공한다.
- 예제 코드
public void compressZip(File sourceDir, File targetZipFile) {
ZipUtil.pack(sourceDir, targetZipFile);
}
참고
끝으로
이 글이 도움이 되었다면, Google 광고 한번씩 클릭 부탁 드립니다. 🙏🙏🙏
광고 클릭은 많은 힘이 됩니다!
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
(Java) Arrays.asList() 사용시 UnsupportedOperationException 에러 발생 해결 방법 (0) | 2020.02.28 |
---|---|
(Java) Gson 사용시 ZonedDateTime JSON Serialize/Deserialize 방법 (2) | 2020.02.20 |
(Java) Java 문자 메시지 발송 기능 구현 방법 (3) | 2020.02.15 |
(JavaFX) Chart에 값(series)이 많을 때 UI 성능 이슈 해결 방법 (0) | 2020.02.15 |
(Java) List의 특정 Unit 별 Sum값 구하기 (0) | 2020.02.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 자전거 여행
- 자바
- JavaFX 종료
- 일본 배낭여행
- 이펙티브
- intelij
- 일본여행
- Java UI
- TableView
- 배낭여행
- 이펙티브 자바
- 배낭 여행
- JavaFX 테이블뷰
- windows
- springboot
- effectivejava
- 이펙티브자바
- 인텔리제이
- 일본 여행
- effective java
- 일본 자전거 여행
- JavaFX Window Close
- 자전거
- 방통대 과제물
- JavaFX Table View
- JavaFX
- 스프링부트
- 텐트
- java
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함