Overview

Girişlerden oluşan arşivler, tüm klasörü sıkıştırmak için createEntries yöntemine sahiptir. Bu tür yöntemler dizin yapısına saygı gösterir ve tüm alt klasörler için tekrar tekrar oluşturulur. Ayrıca arşivin herhangi bir yerindeki isteğe bağlı alt klasöre tek bir dosya girişi ekleyebilirsiniz.

Bir klasör nasıl sıkıştırılır

Yapıyı koruyarak bir klasörün tamamından ZIP arşivi oluşturmak istiyorsanız Aspose.Zip API for Java’yı ve aşağıdaki kodu kullanabilirsiniz. try-with-resources yapısı, tüm dosyaların düzgün şekilde kapatılıp kapatılmadığına bakılmaksızın, tüm kodlar yürütüldükten sonra Arşiv kaynağını otomatik olarak kapatır. File corpus nesnesinde belirtilen yol sıkıştırılacak klasörü belirtir. createEntries ile arşivin her öğesi ayrı ayrı eklenir, böylece archive.zip adlı dosyada saklanan orijinal yapı korunur. Kodun "D:\Data" nin varlığını kontrol etmediğini unutmamak önemlidir; klasör veya içindeki dosyaların varlığı. Dizin mevcut değilse veya boşsa kod herhangi bir arşiv oluşturmaz.
CreateEntries yönteminin isteğe bağlı ikinci parametresi includeRootDirectory vardır. Kök dizinin arşive dahil edilmesinin gerekip gerekmediğini belirtir. Varsayılan doğrudur, dolayısıyla yukarıdaki örnekte tüm arşiv girişleri "Data" içinde yer alacaktır. dosya. Yalnızca dizin içeriğinin eklenmesini istiyorsanız buraya false değerini iletin.
Örnek - Klasörden arşiv oluştur:

    try (Archive archive = new Archive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.zip");
    }

Aşağıdaki kod örneği, iki dosya içeren bir ZIP arşivi oluşturur: "image.bmp" ve "lyrics.txt". fi1 ve fi2 değişkenleri bu dosyaları temsil eder. createEntry arşiv nesnesinin yöntemi, her dosyayı belirtilen yollarla arşive eklemek için kullanılır: "image.bmp" için "data\pictures" ;text" "lyrics.txt" için. Özetle, bu kod, "data\resimler& adlı iki klasörü içeren "archive.zip" adlı bir ZIP arşivi oluşturur. #34; ve "data\text", her biri ilgili dosyalardan birini içerir.

    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");
    }

Yapısına Saygı Göstererek 7-ZIP'te Klasör Nasıl Sıkıştırılır

Aşağıdaki kod, bir 7Z arşivinin nasıl oluşturulacağını ve belirtilen dizindeki tüm dosya ve klasörlerin bu arşive nasıl ekleneceğini gösterir. ZIP dosya formatına sahip bir arşive benzer şekilde çalışır. CreateEntries , 7Z arşivinin analog yöntemidir. Ayrıca includeRootDirectory parametresine sahiptir: Önemli: uygulanacaktır. Aspose.ZIP for Java içinde 24,4

    try (SevenZipArchive archive = new SevenZipArchive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.7z");
    }

TAR’da Bir Klasör Yapısını Korurken Nasıl Sıkıştırılır

Kod, belirtilen dizin için bir TAR arşivi oluşturur. Bunu başarmak için Java Arşiv API’sindeki TarArchive sınıfını kullanır. createEntries yöntemi, dizindeki tüm dosya ve klasörleri arşive ekler, dizin yapısını korur. Son olarak save yöntemi arşivin içeriğini "archive.tar" dosyasına yazar.
Örnek:

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.save("archive.tar");
    }

Sağlanan kod, iki giriş içeren "archive.tar" adında bir TAR arşivi oluşturur. Dizin Arşivi - "D:\Data" dizinindeki tüm dosya ve klasörleri ekler dizin yapısını koruyarak arşive Bu, belirtilen dizinin tüm içeriğini etkili bir şekilde arşivler. - "data.bin" adlı belirli bir dosyayı ekler. arşive alt klasör Bu, tüm dizin yapısını arşivlemeden belirli bir dosyanın eklenmesine olanak tanır. Özetle, bu kod, hem dizin düzeyinde arşivlemeyi hem de tek tek dosya eklemeyi birleştiren bir TAR arşivi oluşturur.
Örnek 2 – Birleştirilmiş arşivleme. dizin ve tek dosya

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.createEntry("inner\\data.bin", "data.bin");
        archive.save("archive.tar");
    }

Java API için Desteklenen Diğer Aspose.ZIP Özellikleri

Java’daki Aspose.ZIP kitaplığıyla, ZIP dosyası belgeleriyle ilgili çeşitli görevleri sorunsuz bir şekilde gerçekleştirebilirsiniz. İster formatları dönüştürmeye, dosyaları birleştirmeye, içerikleri düzenlemeye veya veri çıkarmaya ihtiyacınız olsun, Aspose.ZIP, işlemlerinizi kolaylaştırmak için kapsamlı işlevsellik sağlar. iş akışını artırın ve üretkenliği artırın.

  

Support and Learning Resources

  
  

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