개요
항목으로 구성된 아카이브에는 전체 폴더를 압축하기 위한 createEntries 메소드가 있습니다. 이러한 방법은 디렉터리 구조를 존중하고 모든 하위 폴더에 대해 반복적으로 구성됩니다. 또한 아카이브 위치에 상관없이 임의의 하위 폴더에 단일 파일 항목을 추가할 수 있습니다.폴더를 압축하는 방법
구조를 유지하면서 전체 폴더에서 ZIP 아카이브를 생성하려면 Aspose.Zip API for Java 및 다음 코드를 사용할 수 있습니다. try-with-resources 구성은 모든 파일이 제대로 닫혔는지 여부에 관계없이 모든 코드가 실행된 후 자동으로 Archive 리소스를 닫습니다. File corpus 개체에 지정된 경로는 압축될 폴더를 나타냅니다. createEntries를 사용하면 아카이브의 각 요소가 별도로 추가되므로 archive.zip이라는 파일에 저장되는 원래 구조가 보존됩니다. 코드는 “D:\Data” 폴더의 존재나 그 안에 파일의 존재를 확인하지 않는다는 점에 유의하는 것이 중요합니다. 디렉토리가 존재하지 않거나 비어 있으면 코드는 아카이브를 생성하지 않습니다.
CreateEntries
메소드에는 선택적 두 번째 매개변수 includeRootDirectory가 있습니다. 루트 디렉터리를 아카이브에 포함해야 하는지 여부를 나타냅니다. 기본값은 true이므로 위 샘플에서 모든 아카이브 항목은 “Data” 폴더 내에 위치합니다. 디렉터리 콘텐츠만 추가하려면 false를 전달하세요.
샘플 - 폴더에서 아카이브 생성:
try (Archive archive = new Archive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.zip");
}
다음 코드 예제에서는 “image.bmp” 및 “lyrics.txt"라는 두 개의 파일이 포함된 ZIP 아카이브를 만듭니다. fi1 및 fi2 변수는 이러한 파일을 나타냅니다. 아카이브 객체의 createEntry 메소드는 지정된 경로(“image.bmp"의 경우 “data\pictures” 및 “lyrics.txt"의 경우 “data\text”)를 사용하여 각 파일을 아카이브에 추가하는 데 사용됩니다. 요약하면, 이 코드는 각각 해당 파일 중 하나를 보유하는 “data\pictures” 및 “data\text"라는 두 개의 폴더를 포함하는 “archive.zip"이라는 ZIP 아카이브를 생성합니다.
try (Archive archive = new Archive()) {
File fi1 = new File("image.bmp");
File fi2 = new File("lyrics.txt");
archive.createEntry("data\\pictures\\photo.bmp", fi1);
archive.createEntry("data\\text\\song.txt", fi2);
archive.save("archive.zip");
}
구조를 고려하여 7-ZIP으로 폴더를 압축하는 방법
다음 코드는 7Z 아카이브를 생성하고 지정된 디렉터리의 모든 파일과 폴더를 여기에 추가하는 방법을 보여줍니다. ZIP 파일 형식의 아카이브와 유사하게 작동합니다. CreateEntries 는 7Z 아카이브의 아날로그 방법입니다. 또한 includeRootDirectory 매개변수도 있습니다. 중요: Aspose.ZIP for Java 24.4에서 구현됩니다.
try (SevenZipArchive archive = new SevenZipArchive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.7z");
}
구조를 유지하면서 TAR에서 폴더를 압축하는 방법
코드는 지정된 디렉토리에 대한 TAR 아카이브를 생성합니다. 이를 달성하기 위해 Java Archive API의 TarArchive 클래스를 활용합니다.
createEntries
메서드는 디렉터리의 모든 파일과 폴더를 아카이브에 추가합니다. 디렉토리 구조를 보존합니다. 마지막으로 save 메소드는 아카이브의 내용을 “archive.tar” 파일에 기록합니다.
샘플:
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.save("archive.tar");
}
제공된 코드는 두 개의 항목을 포함하는 “archive.tar"라는 TAR 아카이브를 생성합니다. 디렉토리 아카이브 - 디렉토리 구조를 유지하면서 “D:\Data” 디렉토리의 모든 파일과 폴더를 아카이브에 추가합니다. 이는 지정된 디렉토리의 전체 내용을 효과적으로 보관합니다. 단일 파일 항목 - “내부” 하위 폴더의 “data.bin"이라는 특정 파일을 아카이브에 추가합니다. 이를 통해 전체 디렉터리 구조를 보관하지 않고도 특정 파일을 포함할 수 있습니다. 요약하면, 이 코드는 디렉터리 수준 아카이브와 개별 파일 포함을 결합한 TAR 아카이브를 생성합니다.
샘플 2 - 보관 디렉터리와
단일 파일
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.createEntry("inner\\data.bin", "data.bin");
archive.save("archive.tar");
}
Java API 기능에 대해 지원되는 기타 Aspose.ZIP
Java의 Aspose.ZIP 라이브러리를 사용하면 ZIP 파일 문서와 관련된 다양한 작업을 원활하게 처리할 수 있습니다. 형식 변환, 파일 병합, 콘텐츠 편집 또는 데이터 추출이 필요한 경우 Aspose.ZIP은 작업 흐름을 간소화하고 생산성을 향상시키는 포괄적인 기능을 제공합니다.
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for Java?
- Customers List
- Success Stories