Apache Commons Archivers 및 Compressor를 사용하여 Java에서 프로그래밍 방식으로 .zip 또는 .tar를 만드는 방법

게시 됨: 2016-03-08

프로그래밍 방식으로 Java에서 .zip 및 .tar를 만드는 방법

Apache Foundation은 기본적으로 우리가 사용할 수 있는 많은 유틸리티와 함께 ​​제공됩니다. 대부분의 경우 우리는 프로덕션 환경에서 사용하기 위해 존재하는 유틸리티를 알지 못합니다.

이 튜토리얼에서는 Java에서 프로그래밍 방식으로 파일이나 디렉토리를 압축할 수 있는 유틸리티 중 하나를 살펴봅니다. 즉, 간단한 아카이브 유틸리티입니다.

이 유틸리티가 필요한 이유는 무엇입니까?

언젠가 Spring MVC 아키텍처를 사용하여 파일을 업로드하는 방법에 대한 기사를 작성했습니다. 매우 큰 파일이 있고 netapp 또는 filer 등과 같은 일부 파일 시스템에서 다른 사용자 파일을 호스팅하는 경우 업로드하기 전에 파일을 압축할 수 있습니다. 동일한 목적을 달성하기 위해 아래 코드를 애플리케이션에 결합할 수 있습니다.

더 나은 이해를 위해 먼저 결과를 확인해 보겠습니다.

전에:

Crunchify Tar 유틸리티 - 파일 및 디렉토리 .zip 또는 .tar

후에:

Java 프로그램에서 생성한 crunchify*.zip 파일

시작하자:

  • CrunchifyCompressArchivesUtility.java 클래스 생성
  • 프로젝트에 아래 maven 종속성을 추가하십시오.
  • maven 프로젝트가 없다면 다음 단계를 따르십시오.

  • Apache Commons compress archivers 유틸리티를 사용할 것입니다.
  • TarArchiveEntry 클래스는 Tar 아카이브의 항목을 나타냅니다. 항목의 헤더와 항목의 파일로 구성됩니다. 항목은 사용 방법에 따라 세 가지 방법 중 하나로 인스턴스화할 수 있습니다.
  • TarArchiveOutputStream 클래스는 UNIX tar 아카이브를 OutputStream으로 작성합니다.
  • 먼저 파일만 보관합니다.
  • 또한 동일한 프로그램에서 디렉토리를 아카이브합니다.
  • 파일과 디렉토리를 .zip 파일로 변환할 것입니다. .tar 를 원하면 아래 코드를 변경하십시오.
  • 아래 코드에서 경로를 변경하십시오.

산출