ZipUtil

public class ZipUtil
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.ZipUtil


คลาสตัวช่วยสําหรับการดำเนินการที่เกี่ยวข้องกับการบีบอัด

สรุป

ตัวสร้างแบบสาธารณะ

ZipUtil()

เมธอดสาธารณะ

static void addToZip(ZipOutputStream out, File file, relativePathSegs)

เพิ่มไฟล์ที่ระบุและเนื้อหาของไฟล์ไปยัง ZipOutputStream แบบเรียกซ้ำ

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

ใช้สิทธิ์ของไฟล์ที่กําหนดค่าไว้ในรายการไดเรกทอรีกลาง

static void closeZip(ZipFile zipFile)

ปิด ERROR(/ZipFile) ที่เปิดอยู่โดยไม่สนใจข้อยกเว้นใดๆ

static File createZip(File dir)

เมธอดยูทิลิตีสำหรับสร้างไฟล์ ZIP ชั่วคราวที่มีไดเรกทอรีที่ระบุและเนื้อหาทั้งหมดของไดเรกทอรีนั้น

static File createZip( files, String name)

วิธีการยูทิลิตีในการสร้างไฟล์ ZIP ชั่วคราวที่มีไฟล์ที่ระบุ

static File createZip(File dir, String name)

เมธอดยูทิลิตีสำหรับสร้างไฟล์ ZIP ชั่วคราวที่มีไดเรกทอรีที่ระบุและเนื้อหาทั้งหมดของไดเรกทอรีนั้น

static File createZip( files)

วิธีการยูทิลิตีในการสร้างไฟล์ ZIP ชั่วคราวที่มีไฟล์ที่ระบุ

static void createZip(File dir, File zipFile)

เมธอดยูทิลิตีสำหรับสร้างไฟล์ ZIP ที่มีไดเรกทอรีที่ระบุและเนื้อหาทั้งหมดของไดเรกทอรีนั้น

static void createZip( files, File zipFile)

เมธอดยูทิลิตีในการสร้างไฟล์ ZIP ที่มีไฟล์ที่ระบุ

static File extractFileFromZip(ZipFile zipFile, String filePath)

วิธีการยูทิลิตีเพื่อดึงไฟล์ที่เฉพาะเจาะจง 1 ไฟล์จากไฟล์ ZIP ไปยังไฟล์ tmp

static void extractZip(ZipFile zipFile, File destDir)

วิธีการยูทิลิตีเพื่อดึงเนื้อหาทั้งหมดของไฟล์ ZIP ไปยังไดเรกทอรีที่ระบุ

static void extractZip(ZipFile zipFile, File destDir, shouldExtract)

วิธีการยูทิลิตีเพื่อแยกเนื้อหาของไฟล์ ZIP ไปยังไดเรกทอรีที่ระบุ

static File extractZipToTemp(File zipFile, String nameHint)

แตกไฟล์ ZIP ไปยังไดเรกทอรีชั่วคราวที่ขึ้นต้นด้วยสตริง

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)

รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)

รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)

รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP

static void gzipFile(File file, File gzipFile)

เมธอดตัวช่วยในการสร้างไฟล์เวอร์ชัน Gzipped ไฟล์เดียว

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, 
                 relativePathSegs)

เพิ่มไฟล์ที่ระบุและเนื้อหาของไฟล์ไปยัง ZipOutputStream แบบเรียกซ้ำ

พารามิเตอร์
out ZipOutputStream: ERROR(/ZipOutputStream)

file File: ERROR(/File) ที่จะเพิ่มลงในสตรีม

relativePathSegs : เส้นทางแบบสัมพัทธ์ของไฟล์ รวมถึงตัวคั่น

การโยน
if failed to add file to zip

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

ใช้สิทธิ์ของไฟล์ที่กําหนดค่าไว้ในรายการไดเรกทอรีกลาง

พารามิเตอร์
targetFile File: ERROR(/File) ที่จะตั้งค่าสิทธิ์

zipEntry CentralDirectoryInfo: ออบเจ็กต์ CentralDirectoryInfo ที่มีสิทธิ์ของไฟล์

การโยน
หากเข้าถึงไฟล์ไม่ได้

closeZip

public static void closeZip (ZipFile zipFile)

ปิด ERROR(/ZipFile) ที่เปิดอยู่โดยไม่สนใจข้อยกเว้นใดๆ

พารามิเตอร์
zipFile ZipFile: ไฟล์ที่จะปิด

createZip

public static File createZip (File dir)

เมธอดยูทิลิตีสำหรับสร้างไฟล์ ZIP ชั่วคราวที่มีไดเรกทอรีที่ระบุและเนื้อหาทั้งหมดของไดเรกทอรีนั้น

พารามิเตอร์
dir File: ไดเรกทอรีที่จะซิป

คิกรีเทิร์น
File ไฟล์ zip ชั่วคราว ERROR(/File) ที่มีเนื้อหาไดเรกทอรี

การโยน
if failed to create zip file

createZip

public static File createZip ( files, 
                String name)

วิธีการยูทิลิตีในการสร้างไฟล์ ZIP ชั่วคราวที่มีไฟล์ที่ระบุ

พารามิเตอร์
files : รายการไฟล์ที่จะบีบอัด

name String: ชื่อพื้นฐานของไฟล์ ZIP ที่สร้างขึ้นโดยไม่มีนามสกุล

คิกรีเทิร์น
File ไฟล์ zip ชั่วคราว ERROR(/File) ที่มีเนื้อหาไดเรกทอรี

การโยน
if failed to create zip file

createZip

public static File createZip (File dir, 
                String name)

เมธอดยูทิลิตีสำหรับสร้างไฟล์ ZIP ชั่วคราวที่มีไดเรกทอรีที่ระบุและเนื้อหาทั้งหมดของไดเรกทอรีนั้น

พารามิเตอร์
dir File: ไดเรกทอรีที่จะซิป

name String: ชื่อพื้นฐานของไฟล์ ZIP ที่สร้างขึ้นโดยไม่มีนามสกุล

คิกรีเทิร์น
File ไฟล์ zip ชั่วคราว ERROR(/File) ที่มีเนื้อหาไดเรกทอรี

การโยน
if failed to create zip file

createZip

public static File createZip ( files)

วิธีการยูทิลิตีในการสร้างไฟล์ ZIP ชั่วคราวที่มีไฟล์ที่ระบุ

พารามิเตอร์
files : รายการไฟล์ที่จะบีบอัด

คิกรีเทิร์น
File ไฟล์ zip ชั่วคราว ERROR(/File) ที่มีเนื้อหาไดเรกทอรี

การโยน
if failed to create zip file

createZip

public static void createZip (File dir, 
                File zipFile)

เมธอดยูทิลิตีสำหรับสร้างไฟล์ ZIP ที่มีไดเรกทอรีที่ระบุและเนื้อหาทั้งหมดของไดเรกทอรีนั้น

พารามิเตอร์
dir File: ไดเรกทอรีที่จะซิป

zipFile File: ไฟล์ ZIP ที่จะสร้าง - ไฟล์นี้ไม่ควรมีอยู่แล้ว

การโยน
if failed to create zip file

createZip

public static void createZip ( files, 
                File zipFile)

เมธอดยูทิลิตีในการสร้างไฟล์ ZIP ที่มีไฟล์ที่ระบุ

พารามิเตอร์
files : รายการไฟล์ที่จะบีบอัด

zipFile File: ไฟล์ ZIP ที่จะสร้าง - ไฟล์นี้ไม่ควรมีอยู่แล้ว

การโยน
if failed to create zip file

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

วิธีการยูทิลิตีเพื่อดึงไฟล์ที่เฉพาะเจาะจง 1 ไฟล์จากไฟล์ ZIP ไปยังไฟล์ tmp

พารามิเตอร์
zipFile ZipFile: ERROR(/ZipFile) ที่จะดึงข้อมูล

filePath String: filePath ของไฟล์ที่จะแตกไฟล์

คิกรีเทิร์น
File ERROR(/File) หรือ null หากไม่พบ

การโยน
if failed to extract file

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

วิธีการยูทิลิตีเพื่อดึงเนื้อหาทั้งหมดของไฟล์ ZIP ไปยังไดเรกทอรีที่ระบุ

พารามิเตอร์
zipFile ZipFile: ERROR(/ZipFile) ที่จะดึงข้อมูล

destDir File: ไดเรกทอรีในเครื่องที่จะแตกไฟล์ไปไว้

การโยน
if failed to extract file

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir, 
                 shouldExtract)

วิธีการยูทิลิตีเพื่อแยกเนื้อหาของไฟล์ ZIP ไปยังไดเรกทอรีที่ระบุ

พารามิเตอร์
zipFile ZipFile: ERROR(/ZipFile) ที่จะดึงข้อมูล

destDir File: ไดเรกทอรีในเครื่องที่จะแตกไฟล์ไปไว้

shouldExtract : พริเนกต์เพื่อระบุว่าควรดึงข้อมูล ZipEntry หรือไม่

การโยน
if failed to extract file

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

แตกไฟล์ ZIP ไปยังไดเรกทอรีชั่วคราวที่ขึ้นต้นด้วยสตริง

พารามิเตอร์
zipFile File: ไฟล์ ZIP ที่จะแตกไฟล์

nameHint String: คำนำหน้าสำหรับไดเรกทอรีชั่วคราว

คิกรีเทิร์น
File ERROR(/File) ที่ชี้ไปยังไดเรกทอรีชั่วคราว

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                boolean useZip64)

รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP

พารามิเตอร์
partialZipFile File: ออบเจ็กต์ ERROR(/File) ของไฟล์ ZIP บางส่วนที่มีรายการไดเรกทอรีส่วนกลาง

endCentralDirInfo EndCentralDirectoryInfo: ออบเจ็กต์ EndCentralDirectoryInfo ของไฟล์ ZIP

useZip64 boolean: บูลีนเพื่อรองรับรูปแบบ zip64 ในการดาวน์โหลดบางส่วน

คิกรีเทิร์น
รายการ CentralDirectoryInfo ของไฟล์ ZIP

การโยน
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset)

รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP

พารามิเตอร์
partialZipFile File: ออบเจ็กต์ ERROR(/File) ของไฟล์ ZIP บางส่วนที่มีรายการไดเรกทอรีส่วนกลาง

endCentralDirInfo EndCentralDirectoryInfo: ออบเจ็กต์ EndCentralDirectoryInfo ของไฟล์ ZIP

offset long: การเลื่อนในไฟล์ ZIP บางส่วนที่เนื้อหาของรายการไดเรกทอรีส่วนกลางเริ่มต้น

คิกรีเทิร์น
รายการ CentralDirectoryInfo ของไฟล์ ZIP

การโยน
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP

พารามิเตอร์
partialZipFile File: ออบเจ็กต์ ERROR(/File) ของไฟล์ ZIP บางส่วนที่มีรายการไดเรกทอรีส่วนกลาง

endCentralDirInfo EndCentralDirectoryInfo: ออบเจ็กต์ EndCentralDirectoryInfo ของไฟล์ ZIP

คิกรีเทิร์น
รายการ CentralDirectoryInfo ของไฟล์ ZIP

การโยน
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset, 
                boolean useZip64)

รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP

พารามิเตอร์
partialZipFile File: ออบเจ็กต์ ERROR(/File) ของไฟล์ ZIP บางส่วนที่มีรายการไดเรกทอรีส่วนกลาง

endCentralDirInfo EndCentralDirectoryInfo: ออบเจ็กต์ EndCentralDirectoryInfo ของไฟล์ ZIP

offset long: การเลื่อนในไฟล์ ZIP บางส่วนที่เนื้อหาของรายการไดเรกทอรีส่วนกลางเริ่มต้น

useZip64 boolean: บูลีนเพื่อรองรับรูปแบบ zip64 ในการดาวน์โหลดบางส่วน

คิกรีเทิร์น
รายการ CentralDirectoryInfo ของไฟล์ ZIP

การโยน
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

เมธอดตัวช่วยในการสร้างไฟล์เวอร์ชัน Gzipped ไฟล์เดียว

พารามิเตอร์
file File: ไฟล์ต้นฉบับ

gzipFile File: ไฟล์ที่จะใส่เนื้อหาที่บีบอัด

การโยน
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

วิธีการยูทิลิตีเพื่อยืนยันว่าไฟล์ ZIP ไม่ได้เสียหาย

พารามิเตอร์
zipFile File: ERROR(/File) ที่จะตรวจสอบ

thorough boolean: พยายามแยกไฟล์ที่เก็บถาวรออกจนหมดหรือไม่ หากเป็น false วิธีการนี้จะตรวจไม่พบข้อผิดพลาด CRC ในไฟล์ที่ถูกต้อง

คิกรีเทิร์น
boolean false หากไฟล์ดูเหมือนว่าเสียหาย true มิเช่นนั้น

การโยน
หากเปิดหรืออ่านไฟล์ไม่ได้

unzipPartialZipFile

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

แตกไฟล์ที่ขอเพียงไฟล์เดียวจากไฟล์ ZIP บางส่วน

โดยวิธีการนี้จะถือว่าไฟล์ทั้งหมดอยู่ในดิสก์เดียวกันเมื่อทำการบีบอัด

หาก ERROR(/targetFile) เป็นไดเรกทอรี ระบบจะสร้างไดเรกทอรีว่างโดยไม่มีเนื้อหา

หาก ERROR(/targetFile) เป็นลิงก์สัญลักษณ์ ระบบจะสร้างลิงก์สัญลักษณ์แต่ไม่แก้ไข

แต่ยังไม่รองรับฟีเจอร์ต่อไปนี้

ไฟล์ ZIP ขนาดใหญ่กว่า 4 GB

ZIP64(require ZipLocalFileHeader update on compressed size)

ไฟล์ ZIP ที่เข้ารหัส

พารามิเตอร์
partialZip File: ERROR(/File) ที่เป็นไฟล์ ZIP บางส่วน

targetFile File: ERROR(/File) สำหรับบันทึกไฟล์ที่แยก

zipEntry CentralDirectoryInfo: ออบเจ็กต์ CentralDirectoryInfo ของไฟล์ที่จะดึงออกจากไฟล์ ZIP บางส่วน

localFileHeader LocalFileHeader: ออบเจ็กต์ LocalFileHeader ของไฟล์ที่จะดึงออกจากไฟล์ ZIP บางส่วน

startOffset long: การเลื่อนเริ่มต้นของไฟล์ที่จะแยก

การโยน
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

แตกโฟลเดอร์ที่ขอจากไฟล์ ZIP บางส่วนและใช้สิทธิ์ที่เหมาะสม

พารามิเตอร์
targetFile File: ERROR(/File) สำหรับบันทึกไฟล์ที่แยก

zipEntry CentralDirectoryInfo: ออบเจ็กต์ CentralDirectoryInfo ของไฟล์ที่จะดึงออกจากไฟล์ ZIP บางส่วน

การโยน
IOException

วิธีการที่มีการป้องกัน

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

พารามิเตอร์
destDir File

filename String