ZipUtil

public class ZipUtil
extends Object

java.lang.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)

طريقة مساعدة لإنشاء ملف zip مؤقت يحتوي على الدليل المحدّد وجميع محتوياته.

static File createZip(File dir)

طريقة مساعدة لإنشاء ملف zip مؤقت يحتوي على الدليل المحدّد وجميع محتوياته.

static File createZip(List<File> files)

طريقة مساعدة لإنشاء ملف zip مؤقت يحتوي على الملفات المحدّدة

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

طريقة مساعدة لإنشاء ملف ZIP مؤقت يحتوي على الملفات المحدّدة

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

طريقة مساعدة لإنشاء ملف ZIP يحتوي على الملفات المحدّدة

static void createZip(File dir, File zipFile)

طريقة مساعدة لإنشاء ملف zip يحتوي على الدليل المحدّد وجميع محتوياته.

static File extractFileFromZip(ZipFile zipFile, String filePath)

طريقة مساعدة لاستخراج ملف معيّن من ملف ZIP إلى ملف مؤقت

static void extractZip(ZipFile zipFile, File destDir)

طريقة مساعدة لاستخراج محتوى ملف ZIP بالكامل إلى الدليل المحدّد

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

طريقة مساعدة لاستخراج محتويات ملف ZIP إلى الدليل المحدّد

static File extractZipToTemp(File zipFile, String nameHint)

استخراج ملف zip إلى دليل مؤقت مسبوق بسلسلة

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

الحصول على قائمة بـ {link CentralDirectoryInfo} للملفات في ملف zip

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

الحصول على قائمة بـ {link CentralDirectoryInfo} للملفات في ملف zip

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

الحصول على قائمة بـ {link CentralDirectoryInfo} للملفات في ملف zip

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

الحصول على قائمة بـ {link CentralDirectoryInfo} للملفات في ملف zip

static void gzipFile(File file, File gzipFile)

طريقة مساعدة لإنشاء نسخة مضغوطة من ملف واحد

static boolean isZipFileValid(File zipFile, boolean thorough)

طريقة مساعدة للتحقّق من أنّ ملف zip غير تالف.

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

استخراج ملف واحد مطلوب من ملف ZIP جزئي

static void unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)

استخرِج المجلد المطلوب من ملف ZIP جزئي وطبِّق الإذن المناسب.

طُرق محمية

static void validateDestinationDir(File destDir, String filename)

طُرق وضع التصميم العامة

ZipUtil

public ZipUtil ()

الإجراءات العامة

addToZip

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

تضيف هذه الطريقة بشكل متكرر الملف المحدد ومحتواه إلى ZipOutputStream

المعلَمات
out ZipOutputStream: ZipOutputStream

file File: File المراد إضافته إلى البث

relativePathSegs List: المسار النسبي للملف، بما في ذلك الفواصل

عمليات الطرح
IOException إذا تعذّرت إضافة الملف إلى ملف zip

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

تطبيق إذن الملف الذي تم ضبطه في إدخال الدليل المركزي

المعلَمات
targetFile استبدِل File بـ File لضبط الإذن.

zipEntry CentralDirectoryInfo: عنصر CentralDirectoryInfo يحتوي على أذونات الملف.

عمليات الطرح
IOException في حال تعذّر الوصول إلى الملف

closeZip

public static void closeZip (ZipFile zipFile)

إغلاق ZipFile مفتوح، مع تجاهل أي استثناءات

المعلَمات
zipFile ZipFile: الملف المطلوب إغلاقه

createZip

public static File createZip (File dir, 
                String name)

طريقة مساعدة لإنشاء ملف zip مؤقت يحتوي على الدليل المحدّد وجميع محتوياته.

المعلَمات
dir File: الدليل الذي سيتم ضغطه

name استبدِل String بالاسم الأساسي لملف ZIP الذي تم إنشاؤه بدون الامتداد.

المرتجعات
File ملف zip مؤقت File يحتوي على محتوى الدليل

عمليات الطرح
IOException في حال تعذّر إنشاء ملف zip

createZip

public static File createZip (File dir)

طريقة مساعدة لإنشاء ملف zip مؤقت يحتوي على الدليل المحدّد وجميع محتوياته.

المعلَمات
dir File: الدليل الذي سيتم ضغطه

المرتجعات
File ملف zip مؤقت File يحتوي على محتوى الدليل

عمليات الطرح
IOException في حال تعذّر إنشاء ملف zip

createZip

public static File createZip (List<File> files)

طريقة مساعدة لإنشاء ملف zip مؤقت يحتوي على الملفات المحدّدة

المعلَمات
files List: قائمة الملفات التي سيتم ضغطها

المرتجعات
File ملف zip مؤقت File يحتوي على محتوى الدليل

عمليات الطرح
IOException في حال تعذّر إنشاء ملف zip

createZip

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

طريقة مساعدة لإنشاء ملف ZIP مؤقت يحتوي على الملفات المحدّدة

المعلَمات
files List: قائمة الملفات التي سيتم ضغطها

name استبدِل String بالاسم الأساسي لملف ZIP الذي تم إنشاؤه بدون الامتداد.

المرتجعات
File ملف zip مؤقت File يحتوي على محتوى الدليل

عمليات الطرح
IOException في حال تعذّر إنشاء ملف zip

createZip

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

طريقة مساعدة لإنشاء ملف ZIP يحتوي على الملفات المحدّدة

المعلَمات
files List: قائمة الملفات التي سيتم ضغطها

zipFile File: ملف zip المطلوب إنشاؤه، ويجب ألا يكون موجودًا من قبل

عمليات الطرح
IOException في حال تعذّر إنشاء ملف zip

createZip

public static void createZip (File dir, 
                File zipFile)

طريقة مساعدة لإنشاء ملف zip يحتوي على الدليل المحدّد وجميع محتوياته.

المعلَمات
dir File: الدليل الذي سيتم ضغطه

zipFile File: ملف zip المطلوب إنشاؤه، ويجب ألا يكون موجودًا من قبل

عمليات الطرح
IOException في حال تعذّر إنشاء ملف zip

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

طريقة مساعدة لاستخراج ملف معيّن من ملف ZIP إلى ملف مؤقت

المعلَمات
zipFile ZipFile: ZipFile المطلوب استخراجه

filePath String: مسار الملف المطلوب استخراجه

المرتجعات
File File أو قيمة فارغة إذا لم يتم العثور على السمة

عمليات الطرح
IOException في حال تعذّر استخراج الملف

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

طريقة مساعدة لاستخراج محتوى ملف ZIP بالكامل إلى الدليل المحدّد

المعلَمات
zipFile ZipFile: ZipFile المطلوب استخراجه

destDir File: المجلد المحلي الذي سيتم استخراج الملف إليه

عمليات الطرح
IOException في حال تعذّر استخراج الملف

extractZip

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

طريقة مساعدة لاستخراج محتويات ملف ZIP إلى الدليل المحدّد

المعلَمات
zipFile ZipFile: ZipFile المطلوب استخراجه

destDir File: المجلد المحلي الذي سيتم استخراج الملف إليه

shouldExtract Predicate: الدالة المنطقية لتحديد ما إذا كان يجب استخراج ZipEntry

عمليات الطرح
IOException في حال تعذّر استخراج الملف

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

استخراج ملف zip إلى دليل مؤقت مسبوق بسلسلة

المعلَمات
zipFile File: ملف zip المطلوب استخراجه

nameHint String: بادئة لدليل temp

المرتجعات
File File يشير إلى الدليل المؤقت

عمليات الطرح
IOException
ZipException

getZipCentralDirectoryInfos

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

الحصول على قائمة بـ {link CentralDirectoryInfo} للملفات في ملف zip

المعلَمات
partialZipFile File: كائن File لملف zip الجزئي الذي يحتوي على إدخالات دليل مركزي.

endCentralDirInfo EndCentralDirectoryInfo: عنصر EndCentralDirectoryInfo لملف zip.

offset long: الإزاحة في ملف ZIP الجزئي حيث يبدأ محتوى إدخالات الدليل المركزي.

useZip64 boolean: قيمة منطقية لدعم تنسيق zip64 في التنزيل الجزئي.

المرتجعات
List<CentralDirectoryInfo> قائمة CentralDirectoryInfo لملف ZIP

عمليات الطرح
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

الحصول على قائمة بـ {link CentralDirectoryInfo} للملفات في ملف zip

المعلَمات
partialZipFile File: كائن File لملف zip الجزئي الذي يحتوي على إدخالات دليل مركزي.

endCentralDirInfo EndCentralDirectoryInfo: عنصر EndCentralDirectoryInfo لملف zip.

المرتجعات
List<CentralDirectoryInfo> قائمة CentralDirectoryInfo لملف ZIP

عمليات الطرح
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

الحصول على قائمة بـ {link CentralDirectoryInfo} للملفات في ملف zip

المعلَمات
partialZipFile File: كائن File لملف zip الجزئي الذي يحتوي على إدخالات دليل مركزي.

endCentralDirInfo EndCentralDirectoryInfo: عنصر EndCentralDirectoryInfo لملف zip.

useZip64 boolean: قيمة منطقية لدعم تنسيق zip64 في التنزيل الجزئي.

المرتجعات
List<CentralDirectoryInfo> قائمة CentralDirectoryInfo لملف ZIP

عمليات الطرح
java.io.IOException
IOException

getZipCentralDirectoryInfos

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

الحصول على قائمة بـ {link CentralDirectoryInfo} للملفات في ملف zip

المعلَمات
partialZipFile File: كائن File لملف zip الجزئي الذي يحتوي على إدخالات دليل مركزي.

endCentralDirInfo EndCentralDirectoryInfo: عنصر EndCentralDirectoryInfo لملف zip.

offset long: الإزاحة في ملف ZIP الجزئي حيث يبدأ محتوى إدخالات الدليل المركزي.

المرتجعات
List<CentralDirectoryInfo> قائمة CentralDirectoryInfo لملف ZIP

عمليات الطرح
java.io.IOException
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

طريقة مساعدة لإنشاء نسخة مضغوطة من ملف واحد

المعلَمات
file File: الملف الأصلي

gzipFile File: الملف الذي سيتم وضع المحتوى المضغوط فيه

عمليات الطرح
java.io.IOException
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

طريقة مساعدة للتحقّق من أنّ ملف zip غير تالف.

المعلَمات
zipFile File: File المطلوب التحقّق منه

thorough boolean: لتحديد ما إذا كان سيتم محاولة استخراج الأرشيف بالكامل. إذا كان false، لن يتمكّن هذا الأسلوب من رصد أخطاء CRC في أرشيف منسَّق بشكل جيد.

المرتجعات
boolean false إذا بدا الملف تالفًا، true في الحالات الأخرى

عمليات الطرح
IOException إذا تعذّر فتح الملف أو قراءته

unzipPartialZipFile

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

استخراج ملف واحد مطلوب من ملف ZIP جزئي

يفترض هذا الأسلوب أنّ جميع الملفات موجودة على القرص نفسه عند ضغطها.

إذا كان ERROR(/targetFile) دليلاً، سيتم إنشاء دليل فارغ بدون محتواه.

إذا كان ERROR(/targetFile) رابطًا رمزيًا، سيتم إنشاء رابط رمزي ولكن لن يتم حله.

لا تتوفّر الميزات التالية بعد:

ملف ZIP أكبر من 4 غيغابايت

ZIP64(require ZipLocalFileHeader update on compressed size)

ملف ZIP مشفّر

المعلَمات
partialZip File: File وهو جزء من ملف zip.

targetFile File: File لحفظ الملف المستخرَج فيه

zipEntry CentralDirectoryInfo: عنصر CentralDirectoryInfo للملف الذي سيتم استخراجه من ملف zip الجزئي

localFileHeader LocalFileHeader: عنصر LocalFileHeader للملف الذي سيتم استخراجه من ملف zip الجزئي.

startOffset long: إزاحة بداية الملف المطلوب استخراجه

عمليات الطرح
java.io.IOException
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

استخرِج المجلد المطلوب من ملف ZIP جزئي وطبِّق الإذن المناسب.

المعلَمات
targetFile File: File لحفظ الملف المستخرَج فيه

zipEntry CentralDirectoryInfo: عنصر CentralDirectoryInfo للملف الذي سيتم استخراجه من ملف zip الجزئي

عمليات الطرح
java.io.IOException
IOException

طُرق محمية

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

المعلَمات
destDir File

filename String

عمليات الطرح
IOException