ZipUtil
public
class
ZipUtil
extends Object
java.lang.Object
|
↳ |
com.android.tradefed.util.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 บางส่วนและใช้สิทธิ์ที่เหมาะสม
|
ตัวสร้างแบบสาธารณะ
ZipUtil
public ZipUtil ()
เมธอดสาธารณะ
addToZip
public static void addToZip (ZipOutputStream out,
File file,
relativePathSegs)
เพิ่มไฟล์ที่ระบุและเนื้อหาของไฟล์ไปยัง ZipOutputStream แบบเรียกซ้ำ
การโยน |
|
if failed to add file to zip |
applyPermission
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry)
ใช้สิทธิ์ของไฟล์ที่กําหนดค่าไว้ในรายการไดเรกทอรีกลาง
การโยน |
|
หากเข้าถึงไฟล์ไม่ได้ |
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 |
public static File extractFileFromZip (ZipFile zipFile,
String filePath)
วิธีการยูทิลิตีเพื่อดึงไฟล์ที่เฉพาะเจาะจง 1 ไฟล์จากไฟล์ ZIP ไปยังไฟล์ tmp
พารามิเตอร์ |
zipFile |
ZipFile : ERROR(/ZipFile) ที่จะดึงข้อมูล |
filePath |
String : filePath ของไฟล์ที่จะแตกไฟล์ |
การโยน |
|
if failed to extract file |
public static void extractZip (ZipFile zipFile,
File destDir)
วิธีการยูทิลิตีเพื่อดึงเนื้อหาทั้งหมดของไฟล์ ZIP ไปยังไดเรกทอรีที่ระบุ
พารามิเตอร์ |
zipFile |
ZipFile : ERROR(/ZipFile) ที่จะดึงข้อมูล |
destDir |
File : ไดเรกทอรีในเครื่องที่จะแตกไฟล์ไปไว้ |
การโยน |
|
if failed to extract file |
public static void extractZip (ZipFile zipFile,
File destDir,
shouldExtract)
วิธีการยูทิลิตีเพื่อแยกเนื้อหาของไฟล์ ZIP ไปยังไดเรกทอรีที่ระบุ
พารามิเตอร์ |
zipFile |
ZipFile : ERROR(/ZipFile) ที่จะดึงข้อมูล |
destDir |
File : ไดเรกทอรีในเครื่องที่จะแตกไฟล์ไปไว้ |
shouldExtract |
: พริเนกต์เพื่อระบุว่าควรดึงข้อมูล ZipEntry หรือไม่ |
การโยน |
|
if failed to extract file |
public static File extractZipToTemp (File zipFile,
String nameHint)
แตกไฟล์ ZIP ไปยังไดเรกทอรีชั่วคราวที่ขึ้นต้นด้วยสตริง
พารามิเตอร์ |
zipFile |
File : ไฟล์ ZIP ที่จะแตกไฟล์ |
nameHint |
String : คำนำหน้าสำหรับไดเรกทอรีชั่วคราว |
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 ในการดาวน์โหลดบางส่วน |
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 บางส่วนที่เนื้อหาของรายการไดเรกทอรีส่วนกลางเริ่มต้น |
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)
รับรายการ {link CentralDirectoryInfo} สําหรับไฟล์ในไฟล์ ZIP
พารามิเตอร์ |
partialZipFile |
File : ออบเจ็กต์ ERROR(/File) ของไฟล์ ZIP บางส่วนที่มีรายการไดเรกทอรีส่วนกลาง |
endCentralDirInfo |
EndCentralDirectoryInfo : ออบเจ็กต์ EndCentralDirectoryInfo ของไฟล์ ZIP |
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 ในการดาวน์โหลดบางส่วน |
gzipFile
public static void gzipFile (File file,
File gzipFile)
เมธอดตัวช่วยในการสร้างไฟล์เวอร์ชัน Gzipped ไฟล์เดียว
พารามิเตอร์ |
file |
File : ไฟล์ต้นฉบับ |
gzipFile |
File : ไฟล์ที่จะใส่เนื้อหาที่บีบอัด |
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 : การเลื่อนเริ่มต้นของไฟล์ที่จะแยก |
unzipPartialZipFolder
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
แตกโฟลเดอร์ที่ขอจากไฟล์ ZIP บางส่วนและใช้สิทธิ์ที่เหมาะสม
พารามิเตอร์ |
targetFile |
File : ERROR(/File) สำหรับบันทึกไฟล์ที่แยก |
zipEntry |
CentralDirectoryInfo : ออบเจ็กต์ CentralDirectoryInfo ของไฟล์ที่จะดึงออกจากไฟล์ ZIP บางส่วน |
วิธีการที่มีการป้องกัน
validateDestinationDir
protected static void validateDestinationDir (File destDir,
String filename)
พารามิเตอร์ |
destDir |
File |
filename |
String |