ZipUtil

public class ZipUtil
extends Object

شیء جاوا
com.android.tradefed.util.ZipUtil


یک کلاس کمکی برای عملیات مربوط به فشرده‌سازی

خلاصه

سازندگان عمومی

ZipUtil ()

روش‌های عمومی

static void addToZip (ZipOutputStream out, File file, List<String> relativePathSegs)

فایل داده شده و محتویات آن را به صورت بازگشتی به ZipOutputStream اضافه می‌کند.

static void applyPermission (File targetFile, CentralDirectoryInfo zipEntry)

مجوز فایل پیکربندی شده در ورودی دایرکتوری مرکزی را اعمال کنید.

static void closeZip (ZipFile zipFile)

یک ZipFile باز را بدون در نظر گرفتن هرگونه استثنا، ببندید.

static File createZip (File dir, String name)

روشی کاربردی برای ایجاد یک فایل زیپ موقت حاوی دایرکتوری داده شده و تمام محتویات آن.

static File createZip (File dir)

روشی کاربردی برای ایجاد یک فایل زیپ موقت حاوی دایرکتوری داده شده و تمام محتویات آن.

static File createZip (List<File> files)

روش کاربردی برای ایجاد یک فایل زیپ موقت حاوی فایل‌های داده شده

static File createZip (List<File> files, String name)

روشی کاربردی برای ایجاد یک فایل زیپ موقت حاوی فایل‌های داده شده.

static void createZip (List<File> files, File zipFile)

روش کاربردی برای ایجاد یک فایل زیپ حاوی فایل‌های داده شده

static void createZip (File dir, File zipFile)

روشی کاربردی برای ایجاد یک فایل زیپ حاوی دایرکتوری داده شده و تمام محتویات آن.

static File extractFileFromZip (ZipFile zipFile, String filePath)

روش کاربردی برای استخراج یک فایل خاص از فایل زیپ به یک فایل tmp

static void extractZip (ZipFile zipFile, File destDir)

روش کاربردی برای استخراج کل محتویات فایل زیپ در دایرکتوری داده شده

static void extractZip (ZipFile zipFile, File destDir, Predicate<ZipEntry> shouldExtract)

متد کاربردی برای استخراج محتویات فایل زیپ در دایرکتوری داده شده

static File extractZipToTemp (File zipFile, String nameHint)

استخراج یک فایل زیپ به یک دایرکتوری موقت که با یک رشته آغاز شده است

static List< CentralDirectoryInfo > getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)

دریافت لیستی از {link CentralDirectoryInfo} برای فایل‌های موجود در یک فایل زیپ.

static List< CentralDirectoryInfo > getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

دریافت لیستی از {link CentralDirectoryInfo} برای فایل‌های موجود در یک فایل زیپ.

static List< CentralDirectoryInfo > getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)

دریافت لیستی از {link CentralDirectoryInfo} برای فایل‌های موجود در یک فایل زیپ.

static List< CentralDirectoryInfo > getZipCentralDirectoryInfos (File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)

دریافت لیستی از {link CentralDirectoryInfo} برای فایل‌های موجود در یک فایل زیپ.

static void gzipFile (File file, File gzipFile)

متد کمکی برای ایجاد یک نسخه gzip شده از یک فایل واحد.

static boolean isZipFileValid (File zipFile, boolean thorough)

روشی کاربردی برای بررسی سالم بودن فایل زیپ.

static void unzipPartialZipFile (File partialZip, File targetFile, CentralDirectoryInfo zipEntry, LocalFileHeader localFileHeader, long startOffset)

استخراج یک فایل درخواستی از یک فایل زیپ ناقص.

static void unzipPartialZipFolder (File targetFile, CentralDirectoryInfo zipEntry)

پوشه درخواستی را از یک فایل زیپ ناقص استخراج کنید و مجوزهای لازم را اعمال کنید.

روش‌های محافظت‌شده

static void validateDestinationDir (File destDir, String filename)

سازندگان عمومی

ZipUtil

public ZipUtil ()

روش‌های عمومی

اضافه کردن به زیپ

public static void addToZip (ZipOutputStream out, 
                File file, 
                List<String> relativePathSegs)

فایل داده شده و محتویات آن را به صورت بازگشتی به ZipOutputStream اضافه می‌کند.

پارامترها
out ZipOutputStream : ZipOutputStream

file File : File که قرار است به استریم اضافه شود

relativePathSegs List : مسیر نسبی فایل، شامل جداکننده‌ها

پرتاب‌ها
IOException اگر فایل به فایل زیپ اضافه نشد

اعمالمجوز

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

مجوز فایل پیکربندی شده در ورودی دایرکتوری مرکزی را اعمال کنید.

پارامترها
targetFile File : File که قرار است مجوزها روی آن تنظیم شوند.

zipEntry CentralDirectoryInfo : یک شیء CentralDirectoryInfo که شامل مجوزهای فایل است.

پرتاب‌ها
IOException اگر نتوانستید به فایل دسترسی پیدا کنید.

بستن زیپ

public static void closeZip (ZipFile zipFile)

یک ZipFile باز را بدون در نظر گرفتن هرگونه استثنا، ببندید.

پارامترها
zipFile ZipFile : فایلی که باید بسته شود

ایجادZip

public static File createZip (File dir, 
                String name)

روشی کاربردی برای ایجاد یک فایل زیپ موقت حاوی دایرکتوری داده شده و تمام محتویات آن.

پارامترها
dir File : دایرکتوری که باید فشرده شود

name String : نام پایه فایل زیپ ایجاد شده بدون پسوند.

بازگشت‌ها
File یک File زیپ موقت حاوی محتویات دایرکتوری

پرتاب‌ها
IOException اگر نتوانستید فایل زیپ ایجاد کنید

ایجادZip

public static File createZip (File dir)

روشی کاربردی برای ایجاد یک فایل زیپ موقت حاوی دایرکتوری داده شده و تمام محتویات آن.

پارامترها
dir File : دایرکتوری که باید فشرده شود

بازگشت‌ها
File یک File زیپ موقت حاوی محتویات دایرکتوری

پرتاب‌ها
IOException اگر نتوانستید فایل زیپ ایجاد کنید

ایجادZip

public static File createZip (List<File> files)

روش کاربردی برای ایجاد یک فایل زیپ موقت حاوی فایل‌های داده شده

پارامترها
files List : فهرست فایل‌ها برای فشرده‌سازی

بازگشت‌ها
File یک File زیپ موقت حاوی محتویات دایرکتوری

پرتاب‌ها
IOException اگر نتوانستید فایل زیپ ایجاد کنید

ایجادZip

public static File createZip (List<File> files, 
                String name)

روشی کاربردی برای ایجاد یک فایل زیپ موقت حاوی فایل‌های داده شده.

پارامترها
files List : فهرست فایل‌ها برای فشرده‌سازی

name String : نام پایه فایل زیپ ایجاد شده بدون پسوند.

بازگشت‌ها
File یک File زیپ موقت حاوی محتویات دایرکتوری

پرتاب‌ها
IOException اگر نتوانستید فایل زیپ ایجاد کنید

ایجادZip

public static void createZip (List<File> files, 
                File zipFile)

روش کاربردی برای ایجاد یک فایل زیپ حاوی فایل‌های داده شده

پارامترها
files List : فهرست فایل‌ها برای فشرده‌سازی

zipFile File : فایل زیپی که باید ایجاد شود - نباید از قبل وجود داشته باشد

پرتاب‌ها
IOException اگر نتوانستید فایل زیپ ایجاد کنید

ایجادZip

public static void createZip (File dir, 
                File zipFile)

روشی کاربردی برای ایجاد یک فایل زیپ حاوی دایرکتوری داده شده و تمام محتویات آن.

پارامترها
dir File : دایرکتوری که باید فشرده شود

zipFile File : فایل زیپی که باید ایجاد شود - نباید از قبل وجود داشته باشد

پرتاب‌ها
IOException اگر نتوانستید فایل زیپ ایجاد کنید

استخراج فایل از زیپ

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

روش کاربردی برای استخراج یک فایل خاص از فایل زیپ به یک فایل tmp

پارامترها
zipFile ZipFile : ZipFile که قرار است استخراج شود

filePath String : مسیر فایلی که قرار است استخراج شود

بازگشت‌ها
File File یا اگر یافت نشد، null

پرتاب‌ها
IOException اگر فایل استخراج نشد

استخراج زیپ

public static void extractZip (ZipFile zipFile, 
                File destDir)

روش کاربردی برای استخراج کل محتویات فایل زیپ در دایرکتوری داده شده

پارامترها
zipFile ZipFile : ZipFile که قرار است استخراج شود

destDir File : دایرکتوری محلی برای استخراج فایل به آن

پرتاب‌ها
IOException اگر فایل استخراج نشد

استخراج زیپ

public static void extractZip (ZipFile zipFile, 
                File destDir, 
                Predicate<ZipEntry> shouldExtract)

متد کاربردی برای استخراج محتویات فایل زیپ در دایرکتوری داده شده

پارامترها
zipFile ZipFile : ZipFile که قرار است استخراج شود

destDir File : دایرکتوری محلی برای استخراج فایل به آن

shouldExtract Predicate ): گزاره‌ای که برای تعیین اینکه آیا یک ZipEntry باید استخراج شود یا خیر، استفاده می‌شود.

پرتاب‌ها
IOException اگر فایل استخراج نشد

استخراجZip به Temp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

استخراج یک فایل زیپ به یک دایرکتوری موقت که با یک رشته آغاز شده است

پارامترها
zipFile File : فایل زیپ برای استخراج

nameHint String : پیشوندی برای دایرکتوری موقت

بازگشت‌ها
File File که به دایرکتوری موقت اشاره می‌کند

پرتاب‌ها
IOException
ZipException

اطلاعات دایرکتوری مرکزی را دریافت کنید

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset, 
                boolean useZip64)

دریافت لیستی از {link CentralDirectoryInfo} برای فایل‌های موجود در یک فایل زیپ.

پارامترها
partialZipFile File : یک شیء File از فایل زیپ ناقص که شامل ورودی‌های دایرکتوری مرکزی است.

endCentralDirInfo EndCentralDirectoryInfo : یک شیء EndCentralDirectoryInfo از فایل زیپ.

offset long : فاصله‌ای در فایل زیپ ناقص که محتوای ورودی‌های دایرکتوری مرکزی از آنجا شروع می‌شود.

useZip64 boolean : یک مقدار بولی برای پشتیبانی از فرمت zip64 در دانلود جزئی.

بازگشت‌ها
List< CentralDirectoryInfo > فهرستی از CentralDirectoryInfo مربوط به فایل زیپ

پرتاب‌ها
استثنای java.io.IO
IOException

اطلاعات دایرکتوری مرکزی را دریافت کنید

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

دریافت لیستی از {link CentralDirectoryInfo} برای فایل‌های موجود در یک فایل زیپ.

پارامترها
partialZipFile File : یک شیء File از فایل زیپ ناقص که شامل ورودی‌های دایرکتوری مرکزی است.

endCentralDirInfo EndCentralDirectoryInfo : یک شیء EndCentralDirectoryInfo از فایل زیپ.

بازگشت‌ها
List< CentralDirectoryInfo > فهرستی از CentralDirectoryInfo مربوط به فایل زیپ

پرتاب‌ها
استثنای java.io.IO
IOException

اطلاعات دایرکتوری مرکزی را دریافت کنید

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                boolean useZip64)

دریافت لیستی از {link CentralDirectoryInfo} برای فایل‌های موجود در یک فایل زیپ.

پارامترها
partialZipFile File : یک شیء File از فایل زیپ ناقص که شامل ورودی‌های دایرکتوری مرکزی است.

endCentralDirInfo EndCentralDirectoryInfo : یک شیء EndCentralDirectoryInfo از فایل زیپ.

useZip64 boolean : یک مقدار بولی برای پشتیبانی از فرمت zip64 در دانلود جزئی.

بازگشت‌ها
List< CentralDirectoryInfo > فهرستی از CentralDirectoryInfo مربوط به فایل زیپ

پرتاب‌ها
استثنای java.io.IO
IOException

اطلاعات دایرکتوری مرکزی را دریافت کنید

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset)

دریافت لیستی از {link CentralDirectoryInfo} برای فایل‌های موجود در یک فایل زیپ.

پارامترها
partialZipFile File : یک شیء File از فایل زیپ ناقص که شامل ورودی‌های دایرکتوری مرکزی است.

endCentralDirInfo EndCentralDirectoryInfo : یک شیء EndCentralDirectoryInfo از فایل زیپ.

offset long : فاصله‌ای در فایل زیپ ناقص که محتوای ورودی‌های دایرکتوری مرکزی از آنجا شروع می‌شود.

بازگشت‌ها
List< CentralDirectoryInfo > فهرستی از CentralDirectoryInfo مربوط به فایل زیپ

پرتاب‌ها
استثنای java.io.IO
IOException

فایل gzip

public static void gzipFile (File file, 
                File gzipFile)

متد کمکی برای ایجاد یک نسخه gzip شده از یک فایل واحد.

پارامترها
file File : فایل اصلی

gzipFile File : فایلی که محتوای فشرده شده در آن قرار می‌گیرد

پرتاب‌ها
استثنای java.io.IO
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

روشی کاربردی برای بررسی سالم بودن فایل زیپ.

پارامترها
zipFile File : File که باید بررسی شود

thorough boolean : آیا تلاشی برای استخراج کامل آرشیو انجام شود یا خیر. اگر false ، این روش در تشخیص خطاهای CRC در یک آرشیو خوش‌فرم ناموفق خواهد بود.

بازگشت‌ها
boolean اگر فایل خراب به نظر برسد، false و در غیر این صورت true

پرتاب‌ها
IOException اگر فایل قابل باز شدن یا خواندن نبود

فایل زیپ ناقص را از حالت فشرده خارج کنید

public static void unzipPartialZipFile (File partialZip, 
                File targetFile, 
                CentralDirectoryInfo zipEntry, 
                LocalFileHeader localFileHeader, 
                long startOffset)

استخراج یک فایل درخواستی از یک فایل زیپ ناقص.

این روش فرض می‌کند که همه فایل‌ها هنگام فشرده‌سازی روی یک دیسک هستند.

اگر ERROR(/targetFile) یک دایرکتوری باشد، یک دایرکتوری خالی بدون محتویات آن ایجاد خواهد شد.

اگر ERROR(/targetFile) یک پیوند نمادین باشد، یک پیوند نمادین ایجاد می‌شود اما حل نمی‌شود.

هنوز از ویژگی‌های زیر پشتیبانی نمی‌کند:

فایل زیپ با حجم بیش از ۴ گیگابایت

ZIP64 (نیاز به به‌روزرسانی ZipLocalFileHeader در اندازه فشرده)

فایل زیپ رمزگذاری شده

پارامترها
partialZip File : File که بخشی از فایل زیپ است.

targetFile File : File که فایل استخراج شده در آن ذخیره می‌شود.

zipEntry CentralDirectoryInfo : یک شیء CentralDirectoryInfo از فایلی که قرار است از فایل زیپ ناقص استخراج شود.

localFileHeader LocalFileHeader : یک شیء LocalFileHeader از فایلی که قرار است از فایل زیپ ناقص استخراج شود.

startOffset long : شروع جابجایی فایل برای استخراج.

پرتاب‌ها
استثنای java.io.IO
IOException

پوشه زیپ شده را از حالت فشرده خارج کنید

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

پوشه درخواستی را از یک فایل زیپ ناقص استخراج کنید و مجوزهای لازم را اعمال کنید.

پارامترها
targetFile File : File که فایل استخراج شده در آن ذخیره می‌شود.

zipEntry CentralDirectoryInfo : یک شیء CentralDirectoryInfo از فایلی که قرار است از فایل زیپ ناقص استخراج شود.

پرتاب‌ها
استثنای java.io.IO
IOException

روش‌های محافظت‌شده

معتبرسازیDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

پارامترها
destDir File

filename String

پرتاب‌ها
IOException