ZipUtil
public
class
ZipUtil
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.util.ZipUtil
|
Một lớp trợ giúp cho các thao tác liên quan đến việc nén
Tóm tắt
Phương thức công khai |
static
void
|
addToZip(ZipOutputStream out, File file, List<String> relativePathSegs)
Đệ quy thêm tệp đã cho và nội dung của tệp đó vào ZipOutputStream
|
static
void
|
applyPermission(File targetFile, CentralDirectoryInfo zipEntry)
Áp dụng quyền đối với tệp được định cấu hình trong mục nhập thư mục trung tâm.
|
static
void
|
closeZip(ZipFile zipFile)
Đóng một ZipFile đang mở, bỏ qua mọi trường hợp ngoại lệ.
|
static
File
|
createZip(File dir, String name)
Phương thức tiện ích để tạo một tệp zip tạm thời chứa thư mục đã cho và tất cả nội dung của thư mục đó.
|
static
File
|
createZip(File dir)
Phương thức tiện ích để tạo một tệp zip tạm thời chứa thư mục đã cho và tất cả nội dung của thư mục đó.
|
static
File
|
createZip(List<File> files)
Phương thức tiện ích để tạo một tệp zip tạm thời chứa các tệp đã cho
|
static
File
|
createZip(List<File> files, String name)
Phương thức tiện ích để tạo một tệp zip tạm thời chứa các tệp đã cho.
|
static
void
|
createZip(List<File> files, File zipFile)
Phương thức tiện ích để tạo một tệp zip chứa các tệp đã cho
|
static
void
|
createZip(File dir, File zipFile)
Phương thức tiện ích để tạo một tệp zip chứa thư mục đã cho và tất cả nội dung của thư mục đó.
|
static
File
|
extractFileFromZip(ZipFile zipFile, String filePath)
Phương thức tiện ích để trích xuất một tệp cụ thể từ tệp zip vào một tệp tmp
|
static
void
|
extractZip(ZipFile zipFile, File destDir)
Phương thức tiện ích để trích xuất toàn bộ nội dung của tệp zip vào thư mục đã cho
|
static
void
|
extractZip(ZipFile zipFile, File destDir, Predicate<ZipEntry> shouldExtract)
Phương thức tiện ích để trích xuất nội dung của tệp zip vào thư mục đã cho
|
static
File
|
extractZipToTemp(File zipFile, String nameHint)
Giải nén tệp zip vào một thư mục tạm thời có thêm một chuỗi ở đầu
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)
Lấy danh sách {link CentralDirectoryInfo} cho các tệp trong tệp zip.
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)
Lấy danh sách {link CentralDirectoryInfo} cho các tệp trong tệp zip.
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)
Lấy danh sách {link CentralDirectoryInfo} cho các tệp trong tệp zip.
|
static
List<CentralDirectoryInfo>
|
getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)
Lấy danh sách {link CentralDirectoryInfo} cho các tệp trong tệp zip.
|
static
void
|
gzipFile(File file, File gzipFile)
Phương thức trợ giúp để tạo phiên bản nén gzip của một tệp duy nhất.
|
static
boolean
|
isZipFileValid(File zipFile, boolean thorough)
Phương thức tiện ích để xác minh rằng tệp zip không bị hỏng.
|
static
void
|
unzipPartialZipFile(File partialZip, File targetFile, CentralDirectoryInfo zipEntry, LocalFileHeader localFileHeader, long startOffset)
Trích xuất một tệp được yêu cầu duy nhất từ một tệp zip một phần.
|
static
void
|
unzipPartialZipFolder(File targetFile, CentralDirectoryInfo zipEntry)
Trích xuất thư mục được yêu cầu từ một tệp zip một phần và áp dụng quyền thích hợp.
|
Hàm khởi tạo công khai
ZipUtil
public ZipUtil ()
Phương thức công khai
addToZip
public static void addToZip (ZipOutputStream out,
File file,
List<String> relativePathSegs)
Đệ quy thêm tệp đã cho và nội dung của tệp đó vào ZipOutputStream
| Tham số |
out |
ZipOutputStream: ZipOutputStream |
file |
File: File cần thêm vào luồng |
relativePathSegs |
List: đường dẫn tương đối của tệp, bao gồm cả dấu phân cách |
| Gửi |
IOException |
nếu không thêm được tệp vào tệp zip |
applyPermission
public static void applyPermission (File targetFile,
CentralDirectoryInfo zipEntry)
Áp dụng quyền đối với tệp được định cấu hình trong mục nhập thư mục trung tâm.
| Tham số |
targetFile |
File: File để đặt quyền. |
zipEntry |
CentralDirectoryInfo: một đối tượng CentralDirectoryInfo chứa các quyền đối với tệp. |
| Gửi |
IOException |
nếu không truy cập được vào tệp. |
closeZip
public static void closeZip (ZipFile zipFile)
Đóng một ZipFile đang mở, bỏ qua mọi trường hợp ngoại lệ.
| Tham số |
zipFile |
ZipFile: tệp cần đóng |
createZip
public static File createZip (File dir,
String name)
Phương thức tiện ích để tạo một tệp zip tạm thời chứa thư mục đã cho và tất cả nội dung của thư mục đó.
| Tham số |
dir |
File: thư mục cần nén |
name |
String: tên cơ sở của tệp zip được tạo mà không có đuôi. |
| Giá trị trả về |
File |
một tệp zip tạm thời File chứa nội dung thư mục |
| Gửi |
IOException |
nếu không tạo được tệp zip |
createZip
public static File createZip (File dir)
Phương thức tiện ích để tạo một tệp zip tạm thời chứa thư mục đã cho và tất cả nội dung của thư mục đó.
| Tham số |
dir |
File: thư mục cần nén |
| Giá trị trả về |
File |
một tệp zip tạm thời File chứa nội dung thư mục |
| Gửi |
IOException |
nếu không tạo được tệp zip |
createZip
public static File createZip (List<File> files)
Phương thức tiện ích để tạo một tệp zip tạm thời chứa các tệp đã cho
| Tham số |
files |
List: danh sách các tệp cần nén |
| Giá trị trả về |
File |
một tệp zip tạm thời File chứa nội dung thư mục |
| Gửi |
IOException |
nếu không tạo được tệp zip |
createZip
public static File createZip (List<File> files,
String name)
Phương thức tiện ích để tạo một tệp zip tạm thời chứa các tệp đã cho.
| Tham số |
files |
List: danh sách các tệp cần nén |
name |
String: tên cơ sở của tệp zip được tạo mà không có đuôi. |
| Giá trị trả về |
File |
một tệp zip tạm thời File chứa nội dung thư mục |
| Gửi |
IOException |
nếu không tạo được tệp zip |
createZip
public static void createZip (List<File> files,
File zipFile)
Phương thức tiện ích để tạo một tệp zip chứa các tệp đã cho
| Tham số |
files |
List: danh sách các tệp cần nén |
zipFile |
File: tệp zip cần tạo – tệp này không được tồn tại |
| Gửi |
IOException |
nếu không tạo được tệp zip |
createZip
public static void createZip (File dir,
File zipFile)
Phương thức tiện ích để tạo một tệp zip chứa thư mục đã cho và tất cả nội dung của thư mục đó.
| Tham số |
dir |
File: thư mục cần nén |
zipFile |
File: tệp zip cần tạo – tệp này không được tồn tại |
| Gửi |
IOException |
nếu không tạo được tệp zip |
public static File extractFileFromZip (ZipFile zipFile,
String filePath)
Phương thức tiện ích để trích xuất một tệp cụ thể từ tệp zip vào một tệp tmp
| Tham số |
zipFile |
ZipFile: ZipFile cần trích xuất |
filePath |
String: filePath cần trích xuất |
| Giá trị trả về |
File |
File hoặc giá trị rỗng nếu không tìm thấy |
| Gửi |
IOException |
nếu không trích xuất được tệp |
public static void extractZip (ZipFile zipFile,
File destDir)
Phương thức tiện ích để trích xuất toàn bộ nội dung của tệp zip vào thư mục đã cho
| Tham số |
zipFile |
ZipFile: ZipFile cần trích xuất |
destDir |
File: thư mục cục bộ để giải nén tệp |
| Gửi |
IOException |
nếu không trích xuất được tệp |
public static void extractZip (ZipFile zipFile,
File destDir,
Predicate<ZipEntry> shouldExtract)
Phương thức tiện ích để trích xuất nội dung của tệp zip vào thư mục đã cho
| Tham số |
zipFile |
ZipFile: ZipFile cần trích xuất |
destDir |
File: thư mục cục bộ để giải nén tệp |
shouldExtract |
Predicate: vị từ để xác định xem có nên trích xuất ZipEntry hay không |
| Gửi |
IOException |
nếu không trích xuất được tệp |
public static File extractZipToTemp (File zipFile,
String nameHint)
Giải nén tệp zip vào một thư mục tạm thời có thêm một chuỗi ở đầu
| Tham số |
zipFile |
File: tệp zip cần giải nén |
nameHint |
String: tiền tố cho thư mục tạm thời |
| Giá trị trả về |
File |
File trỏ đến thư mục tạm thời |
| Gửi |
IOException |
|
ZipException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset,
boolean useZip64)
Lấy danh sách {link CentralDirectoryInfo} cho các tệp trong tệp zip.
| Tham số |
partialZipFile |
File: một đối tượng File của tệp zip một phần chứa các mục trong thư mục trung tâm. |
endCentralDirInfo |
EndCentralDirectoryInfo: một đối tượng EndCentralDirectoryInfo của tệp zip. |
offset |
long: độ lệch trong tệp zip một phần, nơi bắt đầu nội dung của các mục nhập thư mục trung tâm. |
useZip64 |
boolean: một giá trị boolean để hỗ trợ định dạng zip64 trong quá trình tải xuống một phần. |
| Gửi |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo)
Lấy danh sách {link CentralDirectoryInfo} cho các tệp trong tệp zip.
| Tham số |
partialZipFile |
File: một đối tượng File của tệp zip một phần chứa các mục trong thư mục trung tâm. |
endCentralDirInfo |
EndCentralDirectoryInfo: một đối tượng EndCentralDirectoryInfo của tệp zip. |
| Gửi |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
boolean useZip64)
Lấy danh sách {link CentralDirectoryInfo} cho các tệp trong tệp zip.
| Tham số |
partialZipFile |
File: một đối tượng File của tệp zip một phần chứa các mục trong thư mục trung tâm. |
endCentralDirInfo |
EndCentralDirectoryInfo: một đối tượng EndCentralDirectoryInfo của tệp zip. |
useZip64 |
boolean: một giá trị boolean để hỗ trợ định dạng zip64 trong quá trình tải xuống một phần. |
| Gửi |
|
java.io.IOException |
IOException |
|
getZipCentralDirectoryInfos
public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile,
EndCentralDirectoryInfo endCentralDirInfo,
long offset)
Lấy danh sách {link CentralDirectoryInfo} cho các tệp trong tệp zip.
| Tham số |
partialZipFile |
File: một đối tượng File của tệp zip một phần chứa các mục trong thư mục trung tâm. |
endCentralDirInfo |
EndCentralDirectoryInfo: một đối tượng EndCentralDirectoryInfo của tệp zip. |
offset |
long: độ lệch trong tệp zip một phần, nơi bắt đầu nội dung của các mục nhập thư mục trung tâm. |
| Gửi |
|
java.io.IOException |
IOException |
|
gzipFile
public static void gzipFile (File file,
File gzipFile)
Phương thức trợ giúp để tạo phiên bản nén gzip của một tệp duy nhất.
| Tham số |
file |
File: tệp gốc |
gzipFile |
File: tệp để đặt nội dung nén vào |
| Gửi |
|
java.io.IOException |
IOException |
|
isZipFileValid
public static boolean isZipFileValid (File zipFile,
boolean thorough)
Phương thức tiện ích để xác minh rằng tệp zip không bị hỏng.
| Tham số |
zipFile |
File: File cần kiểm tra |
thorough |
boolean: Có cố gắng trích xuất hoàn toàn tệp lưu trữ hay không. Nếu false, phương thức này sẽ không phát hiện được lỗi CRC trong một kho lưu trữ có cấu trúc hợp lệ. |
| Giá trị trả về |
boolean |
false nếu tệp có vẻ bị hỏng; true nếu không |
| Gửi |
IOException |
nếu không mở hoặc đọc được tệp |
unzipPartialZipFile
public static void unzipPartialZipFile (File partialZip,
File targetFile,
CentralDirectoryInfo zipEntry,
LocalFileHeader localFileHeader,
long startOffset)
Trích xuất một tệp được yêu cầu duy nhất từ một tệp zip một phần.
Phương thức này giả định rằng tất cả các tệp đều nằm trên cùng một đĩa khi được nén.
Nếu ERROR(/targetFile) là một thư mục, thì một thư mục trống sẽ được tạo mà không có nội dung.
Nếu ERROR(/targetFile) là một đường liên kết tượng trưng, thì một đường liên kết tượng trưng sẽ được tạo nhưng không được phân giải.
SDK này hiện chưa hỗ trợ các tính năng sau:
Tệp ZIP lớn hơn 4 GB
ZIP64(yêu cầu cập nhật ZipLocalFileHeader về kích thước nén)
Tệp zip đã mã hoá
| Tham số |
partialZip |
File: một File là một phần của tệp zip. |
targetFile |
File: File để lưu tệp đã trích xuất vào. |
zipEntry |
CentralDirectoryInfo: một đối tượng CentralDirectoryInfo của tệp cần trích xuất từ tệp zip một phần. |
localFileHeader |
LocalFileHeader: một đối tượng LocalFileHeader của tệp cần trích xuất từ tệp zip một phần. |
startOffset |
long: độ lệch bắt đầu của tệp cần trích xuất. |
| Gửi |
|
java.io.IOException |
IOException |
|
unzipPartialZipFolder
public static void unzipPartialZipFolder (File targetFile,
CentralDirectoryInfo zipEntry)
Trích xuất thư mục được yêu cầu từ một tệp zip một phần và áp dụng quyền thích hợp.
| Tham số |
targetFile |
File: File để lưu tệp đã trích xuất vào. |
zipEntry |
CentralDirectoryInfo: một đối tượng CentralDirectoryInfo của tệp cần trích xuất từ tệp zip một phần. |
| Gửi |
|
java.io.IOException |
IOException |
|
Phương thức được bảo vệ
validateDestinationDir
protected static void validateDestinationDir (File destDir,
String filename)
| Tham số |
destDir |
File |
filename |
String |