ZipUtil

public class ZipUtil
extends Object

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


कंप्रेशन से जुड़ी कार्रवाइयों के लिए हेल्पर क्लास

खास जानकारी

सार्वजनिक कंस्ट्रक्टर

ZipUtil()

पब्लिक मेथड

static void addToZip(ZipOutputStream out, File file, List<String> relativePathSegs)

यह फ़ंक्शन, दी गई फ़ाइल और उसके कॉन्टेंट को ZipOutputStream में बार-बार जोड़ता है

static void applyPermission(File targetFile, CentralDirectoryInfo zipEntry)

सेंट्रल डायरेक्ट्री एंट्री में कॉन्फ़िगर की गई फ़ाइल की अनुमति लागू करें.

static void closeZip(ZipFile zipFile)

खुली हुई ZipFile को बंद करें. इसमें किसी भी अपवाद को अनदेखा किया जाएगा.

static File createZip(File dir, String name)

यह यूटिलिटी मेथड, दी गई डायरेक्ट्री और उसके सभी कॉन्टेंट वाली एक अस्थायी ZIP फ़ाइल बनाती है.

static File createZip(File dir)

यह यूटिलिटी मेथड, दी गई डायरेक्ट्री और उसके सभी कॉन्टेंट वाली एक अस्थायी ZIP फ़ाइल बनाती है.

static File createZip(List<File> files)

यह एक यूटिलिटी मेथड है. इसका इस्तेमाल, दी गई फ़ाइलों वाली एक अस्थायी ज़िप फ़ाइल बनाने के लिए किया जाता है

static File createZip(List<File> files, String name)

यह यूटिलिटी मेथड, दी गई फ़ाइलों की एक अस्थायी ज़िप फ़ाइल बनाता है.

static void createZip(List<File> files, File zipFile)

यह यूटिलिटी मेथड, दी गई फ़ाइलों की एक ZIP फ़ाइल बनाता है

static void createZip(File dir, File zipFile)

यह यूटिलिटी मेथड, दी गई डायरेक्ट्री और उसके सभी कॉन्टेंट वाली ZIP फ़ाइल बनाने के लिए है.

static File extractFileFromZip(ZipFile zipFile, String filePath)

ज़िप फ़ाइल से किसी फ़ाइल को tmp फ़ाइल में निकालने का यूटिलिटी तरीका

static void extractZip(ZipFile zipFile, File destDir)

ज़िप फ़ाइल के पूरे कॉन्टेंट को दी गई डायरेक्ट्री में निकालने का यूटिलिटी तरीका

static void extractZip(ZipFile zipFile, File destDir, Predicate<ZipEntry> shouldExtract)

ज़िप फ़ाइल के कॉन्टेंट को दी गई डायरेक्ट्री में निकालने का यूटिलिटी तरीका

static File extractZipToTemp(File zipFile, String nameHint)

किसी zip फ़ाइल को ऐसी अस्थायी डायरेक्ट्री में एक्सट्रैक्ट करें जिसके नाम की शुरुआत किसी स्ट्रिंग से होती हो

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset, boolean useZip64)

किसी ZIP फ़ाइल में मौजूद फ़ाइलों के लिए, {link CentralDirectoryInfo} की सूची पाएं.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo)

किसी ZIP फ़ाइल में मौजूद फ़ाइलों के लिए, {link CentralDirectoryInfo} की सूची पाएं.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, boolean useZip64)

किसी ZIP फ़ाइल में मौजूद फ़ाइलों के लिए, {link CentralDirectoryInfo} की सूची पाएं.

static List<CentralDirectoryInfo> getZipCentralDirectoryInfos(File partialZipFile, EndCentralDirectoryInfo endCentralDirInfo, long offset)

किसी ZIP फ़ाइल में मौजूद फ़ाइलों के लिए, {link CentralDirectoryInfo} की सूची पाएं.

static void gzipFile(File file, File gzipFile)

किसी एक फ़ाइल का gzip किया गया वर्शन बनाने के लिए हेल्पर मेथड.

static boolean isZipFileValid(File zipFile, boolean thorough)

यह एक यूटिलिटी मेथड है. इससे यह पुष्टि की जाती है कि ज़िप फ़ाइल खराब नहीं है.

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

यह फ़ंक्शन, दी गई फ़ाइल और उसके कॉन्टेंट को ZipOutputStream में बार-बार जोड़ता है

पैरामीटर
out ZipOutputStream: ZipOutputStream

file File: स्ट्रीम में जोड़ने के लिए File

relativePathSegs List: फ़ाइल का रिलेटिव पाथ, जिसमें सेपरेटर भी शामिल हैं

थ्रो
IOException if failed to add file to zip

applyPermission

public static void applyPermission (File targetFile, 
                CentralDirectoryInfo zipEntry)

सेंट्रल डायरेक्ट्री एंट्री में कॉन्फ़िगर की गई फ़ाइल की अनुमति लागू करें.

पैरामीटर
targetFile File: वह File जिसके लिए अनुमति सेट करनी है.

zipEntry CentralDirectoryInfo: यह एक CentralDirectoryInfo ऑब्जेक्ट है, जिसमें फ़ाइल की अनुमतियां होती हैं.

थ्रो
IOException अगर फ़ाइल को ऐक्सेस नहीं किया जा सकता.

closeZip

public static void closeZip (ZipFile zipFile)

खुली हुई ZipFile को बंद करें. इसमें किसी भी अपवाद को अनदेखा किया जाएगा.

पैरामीटर
zipFile ZipFile: बंद की जाने वाली फ़ाइल

createZip

public static File createZip (File dir, 
                String name)

यह यूटिलिटी मेथड, दी गई डायरेक्ट्री और उसके सभी कॉन्टेंट वाली एक अस्थायी ZIP फ़ाइल बनाती है.

पैरामीटर
dir File: ज़िप करने के लिए डायरेक्ट्री

name String: यह बनाई गई ज़िप फ़ाइल का बेस नेम है. इसमें एक्सटेंशन शामिल नहीं है.

रिटर्न
File डायरेक्ट्री के कॉन्टेंट वाली एक अस्थायी ज़िप फ़ाइल File

थ्रो
IOException ज़िप फ़ाइल नहीं बनाई जा सकी

createZip

public static File createZip (File dir)

यह यूटिलिटी मेथड, दी गई डायरेक्ट्री और उसके सभी कॉन्टेंट वाली एक अस्थायी ZIP फ़ाइल बनाती है.

पैरामीटर
dir File: ज़िप करने के लिए डायरेक्ट्री

रिटर्न
File डायरेक्ट्री के कॉन्टेंट वाली एक अस्थायी ज़िप फ़ाइल File

थ्रो
IOException ज़िप फ़ाइल नहीं बनाई जा सकी

createZip

public static File createZip (List<File> files)

यह एक यूटिलिटी मेथड है. इसका इस्तेमाल, दी गई फ़ाइलों वाली एक अस्थायी ज़िप फ़ाइल बनाने के लिए किया जाता है

पैरामीटर
files List: ज़िप की जाने वाली फ़ाइलों की सूची

रिटर्न
File डायरेक्ट्री के कॉन्टेंट वाली एक अस्थायी ज़िप फ़ाइल File

थ्रो
IOException ज़िप फ़ाइल नहीं बनाई जा सकी

createZip

public static File createZip (List<File> files, 
                String name)

यह यूटिलिटी मेथड, दी गई फ़ाइलों की एक अस्थायी ज़िप फ़ाइल बनाता है.

पैरामीटर
files List: ज़िप की जाने वाली फ़ाइलों की सूची

name String: यह बनाई गई ज़िप फ़ाइल का बेस नेम है. इसमें एक्सटेंशन शामिल नहीं है.

रिटर्न
File डायरेक्ट्री के कॉन्टेंट वाली एक अस्थायी ज़िप फ़ाइल File

थ्रो
IOException ज़िप फ़ाइल नहीं बनाई जा सकी

createZip

public static void createZip (List<File> files, 
                File zipFile)

यह यूटिलिटी मेथड, दी गई फ़ाइलों की एक ZIP फ़ाइल बनाता है

पैरामीटर
files List: ज़िप की जाने वाली फ़ाइलों की सूची

zipFile File: बनाई जाने वाली zip फ़ाइल - यह पहले से मौजूद नहीं होनी चाहिए

थ्रो
IOException ज़िप फ़ाइल नहीं बनाई जा सकी

createZip

public static void createZip (File dir, 
                File zipFile)

यह यूटिलिटी मेथड, दी गई डायरेक्ट्री और उसके सभी कॉन्टेंट वाली ZIP फ़ाइल बनाने के लिए है.

पैरामीटर
dir File: ज़िप करने के लिए डायरेक्ट्री

zipFile File: बनाई जाने वाली zip फ़ाइल - यह पहले से मौजूद नहीं होनी चाहिए

थ्रो
IOException ज़िप फ़ाइल नहीं बनाई जा सकी

extractFileFromZip

public static File extractFileFromZip (ZipFile zipFile, 
                String filePath)

ज़िप फ़ाइल से किसी फ़ाइल को tmp फ़ाइल में निकालने का यूटिलिटी तरीका

पैरामीटर
zipFile ZipFile: एक्सट्रैक्ट करने के लिए ZipFile

filePath String: निकालने के लिए फ़ाइल का पाथ

रिटर्न
File File या अगर नहीं मिला, तो null

थ्रो
IOException अगर फ़ाइल नहीं निकाली जा सकी

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir)

ज़िप फ़ाइल के पूरे कॉन्टेंट को दी गई डायरेक्ट्री में निकालने का यूटिलिटी तरीका

पैरामीटर
zipFile ZipFile: एक्सट्रैक्ट करने के लिए ZipFile

destDir File: फ़ाइल को निकालने के लिए लोकल डायरेक्ट्री

थ्रो
IOException अगर फ़ाइल नहीं निकाली जा सकी

extractZip

public static void extractZip (ZipFile zipFile, 
                File destDir, 
                Predicate<ZipEntry> shouldExtract)

ज़िप फ़ाइल के कॉन्टेंट को दी गई डायरेक्ट्री में निकालने का यूटिलिटी तरीका

पैरामीटर
zipFile ZipFile: एक्सट्रैक्ट करने के लिए ZipFile

destDir File: फ़ाइल को निकालने के लिए लोकल डायरेक्ट्री

shouldExtract Predicate: यह तय करने के लिए कि किसी ZipEntry को एक्सट्रैक्ट किया जाना चाहिए या नहीं, यह प्रेडिकेट इस्तेमाल किया जाता है

थ्रो
IOException अगर फ़ाइल नहीं निकाली जा सकी

extractZipToTemp

public static File extractZipToTemp (File zipFile, 
                String nameHint)

किसी zip फ़ाइल को ऐसी अस्थायी डायरेक्ट्री में एक्सट्रैक्ट करें जिसके नाम की शुरुआत किसी स्ट्रिंग से होती हो

पैरामीटर
zipFile File: एक्सट्रैक्ट करने के लिए zip फ़ाइल

nameHint String: यह टेंप डायरेक्ट्री के लिए प्रीफ़िक्स है

रिटर्न
File File, जो temp डायरेक्ट्री की ओर इशारा कर रहा है

थ्रो
IOException
ZipException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset, 
                boolean useZip64)

किसी ZIP फ़ाइल में मौजूद फ़ाइलों के लिए, {link CentralDirectoryInfo} की सूची पाएं.

पैरामीटर
partialZipFile File: यह आंशिक ज़िप फ़ाइल का File ऑब्जेक्ट होता है. इसमें सेंट्रल डायरेक्ट्री की एंट्री होती हैं.

endCentralDirInfo EndCentralDirectoryInfo: यह zip फ़ाइल का EndCentralDirectoryInfo ऑब्जेक्ट है.

offset long: यह पार्शियल ज़िप फ़ाइल में वह ऑफ़सेट होता है जहां सेंट्रल डायरेक्ट्री की एंट्री का कॉन्टेंट शुरू होता है.

useZip64 boolean: यह एक बूलियन है, जो आंशिक तौर पर डाउनलोड करने के लिए zip64 फ़ॉर्मैट को सपोर्ट करता है.

रिटर्न
List<CentralDirectoryInfo> ZIP फ़ाइल के CentralDirectoryInfo की सूची

थ्रो
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo)

किसी ZIP फ़ाइल में मौजूद फ़ाइलों के लिए, {link CentralDirectoryInfo} की सूची पाएं.

पैरामीटर
partialZipFile File: यह आंशिक ज़िप फ़ाइल का File ऑब्जेक्ट होता है. इसमें सेंट्रल डायरेक्ट्री की एंट्री होती हैं.

endCentralDirInfo EndCentralDirectoryInfo: यह zip फ़ाइल का EndCentralDirectoryInfo ऑब्जेक्ट है.

रिटर्न
List<CentralDirectoryInfo> ZIP फ़ाइल के CentralDirectoryInfo की सूची

थ्रो
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                boolean useZip64)

किसी ZIP फ़ाइल में मौजूद फ़ाइलों के लिए, {link CentralDirectoryInfo} की सूची पाएं.

पैरामीटर
partialZipFile File: यह आंशिक ज़िप फ़ाइल का File ऑब्जेक्ट होता है. इसमें सेंट्रल डायरेक्ट्री की एंट्री होती हैं.

endCentralDirInfo EndCentralDirectoryInfo: यह zip फ़ाइल का EndCentralDirectoryInfo ऑब्जेक्ट है.

useZip64 boolean: यह एक बूलियन है, जो आंशिक तौर पर डाउनलोड करने के लिए zip64 फ़ॉर्मैट को सपोर्ट करता है.

रिटर्न
List<CentralDirectoryInfo> ZIP फ़ाइल के CentralDirectoryInfo की सूची

थ्रो
java.io.IOException
IOException

getZipCentralDirectoryInfos

public static List<CentralDirectoryInfo> getZipCentralDirectoryInfos (File partialZipFile, 
                EndCentralDirectoryInfo endCentralDirInfo, 
                long offset)

किसी ZIP फ़ाइल में मौजूद फ़ाइलों के लिए, {link CentralDirectoryInfo} की सूची पाएं.

पैरामीटर
partialZipFile File: यह आंशिक ज़िप फ़ाइल का File ऑब्जेक्ट होता है. इसमें सेंट्रल डायरेक्ट्री की एंट्री होती हैं.

endCentralDirInfo EndCentralDirectoryInfo: यह zip फ़ाइल का EndCentralDirectoryInfo ऑब्जेक्ट है.

offset long: यह पार्शियल ज़िप फ़ाइल में वह ऑफ़सेट होता है जहां सेंट्रल डायरेक्ट्री की एंट्री का कॉन्टेंट शुरू होता है.

रिटर्न
List<CentralDirectoryInfo> ZIP फ़ाइल के CentralDirectoryInfo की सूची

थ्रो
java.io.IOException
IOException

gzipFile

public static void gzipFile (File file, 
                File gzipFile)

किसी एक फ़ाइल का gzip किया गया वर्शन बनाने के लिए हेल्पर मेथड.

पैरामीटर
file File: ओरिजनल फ़ाइल

gzipFile File: कंप्रेस किए गए कॉन्टेंट को रखने के लिए फ़ाइल

थ्रो
java.io.IOException
IOException

isZipFileValid

public static boolean isZipFileValid (File zipFile, 
                boolean thorough)

यह एक यूटिलिटी मेथड है. इससे यह पुष्टि की जाती है कि ज़िप फ़ाइल खराब नहीं है.

पैरामीटर
zipFile File: जांच करने के लिए File

thorough boolean: क्या संग्रह को पूरी तरह से निकालने की कोशिश करनी है. अगर false, तो यह तरीका सही फ़ॉर्मैट वाले संग्रह में सीआरसी से जुड़ी गड़बड़ियों का पता नहीं लगा पाएगा.

रिटर्न
boolean false अगर फ़ाइल में गड़बड़ी दिखती है; true अन्य मामलों में

थ्रो
IOException अगर फ़ाइल को खोला या पढ़ा नहीं जा सका

unzipPartialZipFile

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

आंशिक zip फ़ाइल से, अनुरोध की गई कोई एक फ़ाइल एक्सट्रैक्ट करें.

इस तरीके में यह माना जाता है कि कंप्रेस करते समय सभी फ़ाइलें एक ही डिस्क पर हैं.

अगर ERROR(/targetFile) कोई डायरेक्ट्री है, तो उसके कॉन्टेंट के बिना एक खाली डायरेक्ट्री बनाई जाएगी.

अगर ERROR(/targetFile) एक सिमलंक है, तो एक सिमलंक बनाया जाएगा, लेकिन उसे हल नहीं किया जाएगा.

फ़िलहाल, इसमें ये सुविधाएं काम नहीं करतीं:

ज़िप फ़ाइल का साइज़ 4 जीबी से ज़्यादा है

ZIP64(कंप्रेस किए गए साइज़ के लिए, ZipLocalFileHeader अपडेट करना ज़रूरी है)

एन्क्रिप्ट (सुरक्षित) की गई ज़िप फ़ाइल

पैरामीटर
partialZip File: यह File, zip फ़ाइल का एक हिस्सा होता है.

targetFile File: निकाली गई फ़ाइल को सेव करने के लिए File.

zipEntry CentralDirectoryInfo: यह फ़ाइल का CentralDirectoryInfo ऑब्जेक्ट है. इसका इस्तेमाल, zip फ़ाइल के कुछ हिस्से से फ़ाइल निकालने के लिए किया जाता है.

localFileHeader LocalFileHeader: यह LocalFileHeader ऑब्जेक्ट, फ़ाइल का होता है. इसका इस्तेमाल, zip फ़ाइल के कुछ हिस्से से फ़ाइल निकालने के लिए किया जाता है.

startOffset long: निकालने के लिए फ़ाइल का शुरुआती ऑफ़सेट.

थ्रो
java.io.IOException
IOException

unzipPartialZipFolder

public static void unzipPartialZipFolder (File targetFile, 
                CentralDirectoryInfo zipEntry)

अनुरोध किए गए फ़ोल्डर को आंशिक zip फ़ाइल से निकालें और सही अनुमति लागू करें.

पैरामीटर
targetFile File: निकाली गई फ़ाइल को सेव करने के लिए File.

zipEntry CentralDirectoryInfo: यह फ़ाइल का CentralDirectoryInfo ऑब्जेक्ट है. इसका इस्तेमाल, zip फ़ाइल के कुछ हिस्से से फ़ाइल निकालने के लिए किया जाता है.

थ्रो
java.io.IOException
IOException

प्रोटेक्टेड मेथड

validateDestinationDir

protected static void validateDestinationDir (File destDir, 
                String filename)

पैरामीटर
destDir File

filename String

थ्रो
IOException