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)

하나의 특정 파일을 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)

ZIP 파일로 제공되는 파일의 {link CentralDirectoryInfo} 목록을 가져옵니다.

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

ZIP 파일로 제공되는 파일의 {link CentralDirectoryInfo} 목록을 가져옵니다.

static getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

ZIP 파일로 제공되는 파일의 {link CentralDirectoryInfo} 목록을 가져옵니다.

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

ZIP 파일로 제공되는 파일의 {link CentralDirectoryInfo} 목록을 가져옵니다.

static void gzipFile(File file, File gzipFile)

단일 파일의 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 파일에서 요청된 폴더를 추출하고 적절한 권한을 적용합니다.

보호된 메서드

static void validateDestinationDir(File destDir, String filename)

공개 생성자

ZipUtil

public ZipUtil ()

공개 메서드

Zip 파일 추가

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

지정된 파일과 그 콘텐츠를 ZipOutputStream에 재귀적으로 추가합니다.

매개변수
out ZipOutputStream: ERROR(/ZipOutputStream)

file File: 스트림에 추가할 ERROR(/File)입니다.

relativePathSegs : 구분자를 포함한 파일의 상대 경로입니다.

생성 값
ZIP 파일에 파일을 추가하지 못한 경우

적용 권한

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

중앙 디렉터리 항목에 구성된 파일 권한을 적용합니다.

매개변수
targetFile File: 권한을 설정할 ERROR(/File)입니다.

zipEntry CentralDirectoryInfo: 파일 권한이 포함된 CentralDirectoryInfo 객체입니다.

생성 값
파일 액세스에 실패할 경우 실행할 수 있습니다

닫기 Zip

public static void closeZip (ZipFile zipFile)

열려 있는 ERROR(/ZipFile)를 닫고 예외를 무시합니다.

매개변수
zipFile ZipFile: 닫을 파일입니다.

Zip 생성

public static File createZip (File dir)

지정된 디렉터리와 디렉터리의 모든 콘텐츠를 포함하는 임시 ZIP 파일을 생성하는 유틸리티 메서드입니다.

매개변수
dir File: 압축할 디렉터리

반환 값
File 디렉터리 콘텐츠가 포함된 임시 ZIP ERROR(/File)

생성 값
ZIP 파일 생성에 실패한 경우

Zip 생성

public static File createZip ( files, 
                String name)

지정된 파일을 포함하는 임시 ZIP 파일을 생성하는 유틸리티 메서드입니다.

매개변수
files : 압축할 파일 목록입니다.

name String: 확장자 없이 생성된 ZIP 파일의 기본 이름입니다.

반환 값
File 디렉터리 콘텐츠가 포함된 임시 ZIP ERROR(/File)

생성 값
ZIP 파일 생성에 실패한 경우

Zip 생성

public static File createZip (File dir, 
                String name)

지정된 디렉터리와 디렉터리의 모든 콘텐츠를 포함하는 임시 ZIP 파일을 생성하는 유틸리티 메서드입니다.

매개변수
dir File: 압축할 디렉터리

name String: 확장자 없이 생성된 ZIP 파일의 기본 이름입니다.

반환 값
File 디렉터리 콘텐츠가 포함된 임시 ZIP ERROR(/File)

생성 값
ZIP 파일 생성에 실패한 경우

Zip 생성

public static File createZip ( files)

지정된 파일을 포함하는 임시 ZIP 파일을 생성하는 유틸리티 메서드

매개변수
files : 압축할 파일 목록입니다.

반환 값
File 디렉터리 콘텐츠가 포함된 임시 ZIP ERROR(/File)

생성 값
ZIP 파일 생성에 실패한 경우

Zip 생성

public static void createZip (File dir, 
                File zipFile)

지정된 디렉터리와 디렉터리의 모든 콘텐츠를 포함하는 ZIP 파일을 생성하는 유틸리티 메서드입니다.

매개변수
dir File: 압축할 디렉터리

zipFile File: 생성할 ZIP 파일입니다. 이미 있으면 안 됩니다.

생성 값
ZIP 파일 생성에 실패한 경우

Zip 생성

public static void createZip ( files, 
                File zipFile)

지정된 파일을 포함하는 ZIP 파일을 생성하는 유틸리티 메서드

매개변수
files : 압축할 파일 목록입니다.

zipFile File: 생성할 ZIP 파일입니다. 이미 있으면 안 됩니다.

생성 값
ZIP 파일 생성에 실패한 경우

ExtractFileFromZip(파일에서 압축 파일 추출)

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

하나의 특정 파일을 zip 파일에서 tmp 파일로 추출하는 유틸리티 메서드입니다.

매개변수
zipFile ZipFile: 추출할 ERROR(/ZipFile)입니다.

filePath String: 추출할 filePath입니다.

반환 값
File ERROR(/File) 또는 찾을 수 없는 경우 null

생성 값
파일을 추출하지 못한 경우

ExtractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

zip 파일의 전체 내용을 주어진 디렉터리로 추출하는 유틸리티 방법

매개변수
zipFile ZipFile: 추출할 ERROR(/ZipFile)입니다.

destDir File: 파일을 추출할 로컬 디렉터리입니다.

생성 값
파일을 추출하지 못한 경우

ExtractZip

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

zip 파일의 콘텐츠를 지정된 디렉터리로 추출하는 유틸리티 메서드

매개변수
zipFile ZipFile: 추출할 ERROR(/ZipFile)입니다.

destDir File: 파일을 추출할 로컬 디렉터리입니다.

shouldExtract : ZipEntry를 추출해야 하는 경우 dermine에 대한 조건자입니다.

생성 값
파일을 추출하지 못한 경우

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)

ZIP 파일로 제공되는 파일의 {link CentralDirectoryInfo} 목록을 가져옵니다.

매개변수
partialZipFile File: 중앙 디렉터리 항목을 포함하는 부분 ZIP 파일의 ERROR(/File) 객체입니다.

endCentralDirInfo EndCentralDirectoryInfo: ZIP 파일의 EndCentralDirectoryInfo 객체입니다.

useZip64 boolean: 부분 다운로드에서 zip64 형식을 지원하는 불리언입니다.

반환 값
ZIP 파일의 CentralDirectoryInfo 목록

생성 값
IOException

getZipCentralDirectoryInfos

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

ZIP 파일로 제공되는 파일의 {link CentralDirectoryInfo} 목록을 가져옵니다.

매개변수
partialZipFile File: 중앙 디렉터리 항목을 포함하는 부분 ZIP 파일의 ERROR(/File) 객체입니다.

endCentralDirInfo EndCentralDirectoryInfo: ZIP 파일의 EndCentralDirectoryInfo 객체입니다.

offset long: 중앙 디렉터리 항목의 콘텐츠가 시작되는 부분 ZIP 파일의 오프셋입니다.

반환 값
ZIP 파일의 CentralDirectoryInfo 목록

생성 값
IOException

getZipCentralDirectoryInfos

public static  getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

ZIP 파일로 제공되는 파일의 {link CentralDirectoryInfo} 목록을 가져옵니다.

매개변수
partialZipFile File: 중앙 디렉터리 항목을 포함하는 부분 ZIP 파일의 ERROR(/File) 객체입니다.

endCentralDirInfo EndCentralDirectoryInfo: ZIP 파일의 EndCentralDirectoryInfo 객체입니다.

반환 값
ZIP 파일의 CentralDirectoryInfo 목록

생성 값
IOException

getZipCentralDirectoryInfos

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

ZIP 파일로 제공되는 파일의 {link CentralDirectoryInfo} 목록을 가져옵니다.

매개변수
partialZipFile File: 중앙 디렉터리 항목을 포함하는 부분 ZIP 파일의 ERROR(/File) 객체입니다.

endCentralDirInfo EndCentralDirectoryInfo: ZIP 파일의 EndCentralDirectoryInfo 객체입니다.

offset long: 중앙 디렉터리 항목의 콘텐츠가 시작되는 부분 ZIP 파일의 오프셋입니다.

useZip64 boolean: 부분 다운로드에서 zip64 형식을 지원하는 불리언입니다.

반환 값
ZIP 파일의 CentralDirectoryInfo 목록

생성 값
IOException

gzip 파일

public static void gzipFile (File file, 
                File gzipFile)

단일 파일의 gzip 버전을 생성하는 도우미 메서드입니다.

매개변수
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)가 심볼릭 링크인 경우 심볼릭 링크가 생성되지만 확인되지는 않습니다.

다음 기능은 아직 지원되지 않습니다.

4GB를 초과하는 ZIP 파일

ZIP64(압축된 크기에 ZipLocalFileHeader 업데이트 필요)

암호화된 ZIP 파일

매개변수
partialZip File: ZIP 파일의 일부인 ERROR(/File)입니다.

targetFile File: 추출된 파일을 저장할 ERROR(/File)입니다.

zipEntry CentralDirectoryInfo: 부분 ZIP 파일에서 추출할 파일의 CentralDirectoryInfo 객체입니다.

localFileHeader LocalFileHeader: 부분 ZIP 파일에서 추출할 파일의 LocalFileHeader 객체입니다.

startOffset long: 추출할 파일의 시작 오프셋입니다.

생성 값
IOException

unzipPartialZipFolder를 추가합니다.

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

일부 ZIP 파일에서 요청된 폴더를 추출하고 적절한 권한을 적용합니다.

매개변수
targetFile File: 추출된 파일을 저장할 ERROR(/File)입니다.

zipEntry CentralDirectoryInfo: 부분 ZIP 파일에서 추출할 파일의 CentralDirectoryInfo 객체입니다.

생성 값
IOException

보호된 메서드

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

매개변수
destDir File

filename String