ZipUtil
public class ZipUtil
extends Object
| شیء جاوا |
| ↳ | com.android.tradefed.util.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) پوشه درخواستی را از یک فایل زیپ ناقص استخراج کنید و مجوزهای لازم را اعمال کنید. |
سازندگان عمومی
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 | اگر فایل استخراج نشد |
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 در دانلود جزئی. |
| پرتابها |
|---|
| استثنای java.io.IO |
IOException | |
اطلاعات دایرکتوری مرکزی را دریافت کنید
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)دریافت لیستی از {link CentralDirectoryInfo} برای فایلهای موجود در یک فایل زیپ.
| پارامترها |
|---|
partialZipFile | File : یک شیء File از فایل زیپ ناقص که شامل ورودیهای دایرکتوری مرکزی است. |
endCentralDirInfo | EndCentralDirectoryInfo : یک شیء EndCentralDirectoryInfo از فایل زیپ. |
| پرتابها |
|---|
| استثنای 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 در دانلود جزئی. |
| پرتابها |
|---|
| استثنای 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 : فاصلهای در فایل زیپ ناقص که محتوای ورودیهای دایرکتوری مرکزی از آنجا شروع میشود. |
| پرتابها |
|---|
| استثنای 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 |