الطبقة العامة UnZipper {
/**
* وظيفة فك ضغط الملفات إلى الدليل الحالي تعادل النقر بزر الماوس الأيمن واختيار إلغاء الضغط.
* @param ملف مضغوط
* @param
* @المؤلف غابرييل
*/
@SuppressWarnings("الأنواع الأولية")
الفراغ الثابت العام unZipFiles (ملف zipFile) يلقي IOException {
// احصل على الدليل الذي يوجد به الملف المضغوط
String path=zipFile.getAbsolutePath();
path=path.substring(0,path.lastIndexOf("//"));
// System.out.println("path "+path);
ZipFile zip = new ZipFile(zipFile);
for(Enumeration inputs =zip.entries();
الإدخالات.hasMoreElements();){
إدخال ZipEntry = (ZipEntry)entries.nextElement();
String zipEntryName = input.getName();
InputStream in = zip.getInputStream(entry);
// دليل إخراج outPath
String outPath = (path+"//"+zipEntryName).replaceAll("//*", "/");;
//System.out.println("outPath "+outPath);
// تحديد ما إذا كان المسار موجودًا، وإذا لم يكن كذلك، قم بإنشاء مسار الملف
File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
إذا (! file.exists()){
file.mkdirs();
}
// تحديد ما إذا كان المسار الكامل للملف هو مجلد، إذا تم تحميله أعلاه، فلا داعي لفك ضغطه.
إذا (ملف جديد (outPath).isDirectory ()) {
يكمل؛
}
// معلومات مسار ملف الإخراج
System.out.println(outPath);
OutputStream out = new FileOutputStream(outPath);
بايت[] buf1 = بايت جديد[1024];
إنت لين؛
بينما((لين=in.read(buf1))>0){
out.write(buf1,0,len);
}
in. Close();
out.Close();
}
System.out.println("******************اكتمل فك الضغط************************ *");
}
public static void main(String[] args) {
يحاول {
unZipFiles(new File("D://all//zip//Default.adiumemoticonset.zip"));
} قبض (IOException ه) {
// TODO كتلة الالتقاط التي تم إنشاؤها تلقائيًا
printStackTrace();
}
}
}