개요

항목으로 구성된 아카이브에는 전체 폴더를 압축하기 위한 createEntries 메소드가 있습니다. 이러한 방법은 디렉터리 구조를 존중하고 모든 하위 폴더에 대해 반복적으로 구성됩니다. 또한 아카이브 위치에 상관없이 임의의 하위 폴더에 단일 파일 항목을 추가할 수 있습니다.

기존 ZIP 아카이브에 파일을 추가하는 방법

추가 파일로 기존 아카이브를 확장해야 하는 상황이 있습니다. 일반적인 접근 방식에는 아카이브를 추출하고, 추출된 콘텐츠에 새 파일을 추가한 다음 모든 것을 함께 다시 압축하는 작업이 포함됩니다. 그러나 이는 이미 압축된 파일에 계산 리소스를 낭비하므로 최적의 솔루션이 아닙니다.
Aspose.ZIP은 전체 추출 및 재압축 없이 ZIP 아카이브에 직접 항목을 추가할 수 있도록 하여 이를 달성하는 보다 효율적인 방법을 제공합니다. 이 기능은 ZIP 및 TAR 아카이브 형식 모두에 적용 가능하므로 Java를 사용하여 압축 파일 작업을 위한 다목적 솔루션입니다.

    try (Archive archive = new Archive("existing.zip")) 
    {
        archive.createEntry("one_more.bin", "data.bin");
        archive.save("added.zip");
    }

이 코드 조각은 “existing.zip"이라는 기존 ZIP 아카이브에 “one_more.bin"이라는 새 항목을 추가합니다. 새 항목의 데이터는 “data.bin"에 지정된 소스 또는 파일에서 가져옵니다. 적절한 리소스 관리를 위해 전체 프로세스가 try-with-resources 블록 내에 래핑됩니다.

  • 기존 아카이브 열기: 적절한 리소스 관리를 보장하는 try-with-resources 블록을 설정합니다(블록이 완료된 후 자동으로 아카이브 개체 닫기). . 블록 내부에서는 new Archive(“existing.zip”) 생성자를 사용하여 Archive 객체를 생성합니다.
  • 새 항목 생성: 코드는 아카이브 객체에서 createEntry 메소드를 활용합니다. 이 방법은 두 개의 인수를 사용합니다:
    - “one_more.bin” 이는 아카이브 내의 새 항목에 할당될 이름을 지정합니다.
    - “data.bin” 새로 생성된 항목에 추가될 데이터의 경로 또는 소스가 포함된 파일입니다.
  • 수정된 아카이브 저장: 마지막으로 코드는 아카이브 객체에 대해 save 메소드를 호출합니다. 이 방법은 수정된 아카이브를 “add.zip"이라는 새 파일에 저장합니다.

TAR 기존 아카이브에 파일 추가

아카이브 확장에는 리소스 집약적인 프로세스인 추출, 새 파일 추가 및 재압축이 포함되는 경우가 많습니다. Aspose.ZIP은 Java로 더욱 스마트한 솔루션을 제공합니다. 추출할 아카이브를 열고 새 항목을 직접 추가하면 불필요한 재패킹을 피할 수 있습니다. 이 효율적인 접근 방식은 TAR 아카이브 형식에 적합합니다.

    try (TarArchive archive = new TarArchive("existing.tar")) {
        archive.createEntry("one_more.bin", "data.bin");
        archive.save("added.tar");
    }

이 애플리케이션은 이전 애플리케이션의 기능을 공유하지만 TAR 확장자를 사용하여 아카이브에 맞게 조정되었습니다.

Java API 기능에 대해 지원되는 기타 Aspose.ZIP

Java의 Aspose.ZIP 라이브러리를 사용하면 ZIP 파일 문서와 관련된 다양한 작업을 원활하게 처리할 수 있습니다. 형식 변환, 파일 병합, 콘텐츠 편집 또는 데이터 추출이 필요한 경우 Aspose.ZIP은 작업 흐름을 간소화하고 생산성을 향상시키는 포괄적인 기능을 제공합니다.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: