ซิปยูทิล
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)
เมธอดของ Helper ในการสร้างเวอร์ชัน gzip ของไฟล์เดียว
|
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 บางส่วนและใช้สิทธิ์ที่เหมาะสม
|
ช่างก่อสร้างสาธารณะ
ซิปยูทิล
public ZipUtil ()
วิธีการสาธารณะ
เพิ่ม ToZip
public static void addToZip (ZipOutputStream out,
File file,
relativePathSegs)
เพิ่มไฟล์และเนื้อหาในไฟล์ตามรอบไปยัง ZipOutputStream
การขว้าง |
|
หากเพิ่มไฟล์ลงใน ZIP ไม่สำเร็จ |
ใช้สิทธิ์
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) ที่มีเนื้อหาไดเรกทอรี |
การขว้าง |
|
หากสร้างไฟล์ ZIP ไม่สำเร็จ |
CreateZip
public static File createZip ( files,
String name)
วิธียูทิลิตีในการสร้างไฟล์ ZIP ชั่วคราวที่มีไฟล์ที่กำหนด
พารามิเตอร์ |
files |
: รายการไฟล์ที่จะบีบอัด |
name |
String : ชื่อพื้นฐานของไฟล์ ZIP ที่สร้างขึ้นโดยไม่มีส่วนขยาย |
คิกรีเทิร์น |
File |
ไฟล์ ZIP ชั่วคราว ERROR(/File) ที่มีเนื้อหาไดเรกทอรี |
การขว้าง |
|
หากสร้างไฟล์ ZIP ไม่สำเร็จ |
CreateZip
public static File createZip (File dir,
String name)
วิธียูทิลิตีในการสร้างไฟล์ ZIP ชั่วคราวที่มีไดเรกทอรีที่กำหนดและ
เนื้อหาทั้งหมด
พารามิเตอร์ |
dir |
File : ไดเรกทอรีที่จะบีบอัด |
name |
String : ชื่อพื้นฐานของไฟล์ ZIP ที่สร้างขึ้นโดยไม่มีส่วนขยาย |
คิกรีเทิร์น |
File |
ไฟล์ ZIP ชั่วคราว ERROR(/File) ที่มีเนื้อหาไดเรกทอรี |
การขว้าง |
|
หากสร้างไฟล์ ZIP ไม่สำเร็จ |
CreateZip
public static File createZip ( files)
วิธียูทิลิตีในการสร้างไฟล์ ZIP ชั่วคราวที่มีไฟล์ที่กำหนด
พารามิเตอร์ |
files |
: รายการไฟล์ที่จะบีบอัด |
คิกรีเทิร์น |
File |
ไฟล์ ZIP ชั่วคราว ERROR(/File) ที่มีเนื้อหาไดเรกทอรี |
การขว้าง |
|
หากสร้างไฟล์ ZIP ไม่สำเร็จ |
CreateZip
public static void createZip (File dir,
File zipFile)
วิธียูทิลิตีในการสร้างไฟล์ ZIP ที่มีไดเรกทอรีที่กำหนดและ
เนื้อหาทั้งหมด
พารามิเตอร์ |
dir |
File : ไดเรกทอรีที่จะบีบอัด |
zipFile |
File : ไฟล์ ZIP ที่จะสร้าง ซึ่งไม่ควรมีอยู่แล้ว |
การขว้าง |
|
หากสร้างไฟล์ ZIP ไม่สำเร็จ |
CreateZip
public static void createZip ( files,
File zipFile)
วิธียูทิลิตีในการสร้างไฟล์ ZIP ที่มีไฟล์ที่กำหนด
พารามิเตอร์ |
files |
: รายการไฟล์ที่จะบีบอัด |
zipFile |
File : ไฟล์ ZIP ที่จะสร้าง ซึ่งไม่ควรมีอยู่แล้ว |
การขว้าง |
|
หากสร้างไฟล์ ZIP ไม่สำเร็จ |
public static File extractFileFromZip (ZipFile zipFile,
String filePath)
วิธียูทิลิตีในการแยกไฟล์ที่เฉพาะเจาะจง 1 ไฟล์จากไฟล์ ZIP เป็นไฟล์ tmp
พารามิเตอร์ |
zipFile |
ZipFile : ERROR(/ZipFile) ที่จะแตกข้อมูล |
filePath |
String : เส้นทาง filePath ที่จะแยก |
การขว้าง |
|
หากแตกไฟล์ไม่สำเร็จ |
public static void extractZip (ZipFile zipFile,
File destDir)
วิธียูทิลิตีในการแยกเนื้อหาทั้งหมดของไฟล์ ZIP ลงในไดเรกทอรีที่กำหนด
พารามิเตอร์ |
zipFile |
ZipFile : ERROR(/ZipFile) ที่จะแตกข้อมูล |
destDir |
File : ไดเรกทอรีภายในเครื่องที่จะแตกไฟล์ |
การขว้าง |
|
หากแตกไฟล์ไม่สำเร็จ |
public static void extractZip (ZipFile zipFile,
File destDir,
shouldExtract)
วิธียูทิลิตีในการแยกเนื้อหาของไฟล์ ZIP ลงในไดเรกทอรีที่กำหนด
พารามิเตอร์ |
zipFile |
ZipFile : ERROR(/ZipFile) ที่จะแตกข้อมูล |
destDir |
File : ไดเรกทอรีภายในเครื่องที่จะแตกไฟล์ |
shouldExtract |
: เครื่องหมายแสดงการแบ่งแยกหากควรแยก ZipEntry |
การขว้าง |
|
หากแตกไฟล์ไม่สำเร็จ |
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 บางส่วนที่มี Central
รายการไดเรกทอรี |
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 บางส่วนที่มี Central
รายการไดเรกทอรี |
endCentralDirInfo |
EndCentralDirectoryInfo : ออบเจ็กต์ EndCentralDirectoryInfo ของไฟล์ ZIP |
offset |
long : ออฟเซ็ตในไฟล์ ZIP บางส่วนซึ่งเป็นที่เก็บเนื้อหาของไดเรกทอรีกลาง
จะเริ่มรายการ |
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)
รับรายการ {link CentralDirectoryInfo} สำหรับไฟล์ในไฟล์ ZIP
พารามิเตอร์ |
partialZipFile |
File : ออบเจ็กต์ ERROR(/File) ของไฟล์ ZIP บางส่วนที่มี Central
รายการไดเรกทอรี |
endCentralDirInfo |
EndCentralDirectoryInfo : ออบเจ็กต์ EndCentralDirectoryInfo ของไฟล์ ZIP |
getZipCentralDirectoryInfos
public static getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset,
boolean useZip64)
รับรายการ {link CentralDirectoryInfo} สำหรับไฟล์ในไฟล์ ZIP
พารามิเตอร์ |
partialZipFile |
File : ออบเจ็กต์ ERROR(/File) ของไฟล์ ZIP บางส่วนที่มี Central
รายการไดเรกทอรี |
endCentralDirInfo |
EndCentralDirectoryInfo : ออบเจ็กต์ EndCentralDirectoryInfo ของไฟล์ ZIP |
offset |
long : ออฟเซ็ตในไฟล์ ZIP บางส่วนซึ่งเป็นที่เก็บเนื้อหาของไดเรกทอรีกลาง
จะเริ่มรายการ |
useZip64 |
boolean : บูลีนเพื่อรองรับรูปแบบ zip64 ในการดาวน์โหลดบางส่วน |
gzipFile
public static void gzipFile (File file,
File gzipFile)
เมธอดของ Helper ในการสร้างเวอร์ชัน gzip ของไฟล์เดียว
พารามิเตอร์ |
file |
File : ไฟล์ต้นฉบับ |
gzipFile |
File : ไฟล์สำหรับวางเนื้อหาที่บีบอัด |
เป็นไฟล์ ZIP ที่ถูกต้อง
public static boolean isZipFileValid (File zipFile,
boolean thorough)
วิธียูทิลิตียืนยันว่าไฟล์ ZIP ไม่เสียหาย
พารามิเตอร์ |
zipFile |
File : ERROR(/File) ที่ต้องตรวจสอบ |
thorough |
boolean : ต้องการพยายามแยกข้อมูลที่เก็บถาวรอย่างสมบูรณ์หรือไม่ หากเป็น false นี่คือ
จะไม่สามารถตรวจหาข้อผิดพลาด CRC ในที่เก็บถาวรที่มีรูปแบบเหมาะสมได้ |
คิกรีเทิร์น |
boolean |
false หากไฟล์ดูเหมือนว่าเสียหาย อีก true |
การขว้าง |
|
หากไม่สามารถเปิดหรืออ่านไฟล์ได้ |
แตกไฟล์ ZIP บางส่วน
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)
แยกไฟล์ที่ขอไฟล์เดียวจากไฟล์ ZIP บางส่วน
วิธีนี้จะถือว่าไฟล์ทั้งหมดอยู่ในดิสก์เดียวกันเมื่อบีบอัด
หาก ERROR(/targetFile)
เป็นไดเรกทอรี ระบบจะสร้างไดเรกทอรีเปล่าโดยไม่มีไดเรกทอรีดังกล่าว
เนื้อหา
หาก ERROR(/targetFile)
เป็นลิงก์สัญลักษณ์ ระบบจะสร้างลิงก์สัญลักษณ์แต่ไม่ได้รับการแก้ไข
ยังไม่รองรับฟีเจอร์ต่อไปนี้
ไฟล์ ZIP ที่มีขนาดใหญ่กว่า 4 GB
ZIP64(ต้องอัปเดต ZipLocalFileHeader ในขนาดที่บีบอัด)
ไฟล์ ZIP ที่เข้ารหัส
พารามิเตอร์ |
partialZip |
File : ERROR(/File) ที่เป็นส่วนหนึ่งของไฟล์ ZIP |
targetFile |
File : ERROR(/File) สำหรับบันทึกไฟล์ที่แยกไว้ |
zipEntry |
CentralDirectoryInfo : ออบเจ็กต์ CentralDirectoryInfo ของไฟล์ที่จะแยกออกจากบางส่วน
ไฟล์ ZIP |
localFileHeader |
LocalFileHeader : ออบเจ็กต์ LocalFileHeader ของไฟล์ที่จะแยกออกจาก
แบบ Zip บางส่วน |
startOffset |
long : เริ่มต้นออฟเซ็ตของไฟล์ที่จะแยก |
แยกโฟลเดอร์ Zip บางส่วน
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
แยกโฟลเดอร์ที่ขอจากไฟล์ ZIP บางส่วนและใช้สิทธิ์ที่เหมาะสม
พารามิเตอร์ |
targetFile |
File : ERROR(/File) สำหรับบันทึกไฟล์ที่แยกไว้ |
zipEntry |
CentralDirectoryInfo : ออบเจ็กต์ CentralDirectoryInfo ของไฟล์ที่จะแยกออกจากบางส่วน
ไฟล์ ZIP |
วิธีการป้องกัน
ตรวจสอบปลายทางDir
protected static void validateDestinationDir (File destDir,
String filename)
พารามิเตอร์ |
destDir |
File |
filename |
String |