UnZipper คลาสสาธารณะ {
-
* ฟังก์ชั่นการขยายขนาดไฟล์ไปยังไดเร็กทอรีปัจจุบันเทียบเท่ากับการคลิกขวาและเลือกการขยายขนาด
* @param zipFile
* @พาราม
* @ผู้เขียน กาเบรียล
-
@SuppressWarnings("ประเภทดิบ")
โมฆะคงที่สาธารณะ unZipFiles (ไฟล์ zipFile) พ่น IOException {
//รับไดเร็กทอรีที่มีไฟล์บีบอัดอยู่
เส้นทางสตริง=zipFile.getAbsolutePath();
path=path.substring(0,path.lastIndexOf("//"));
// System.out.println("path "+path);
ZipFile zip = ZipFile ใหม่ (zipFile);
สำหรับ(รายการแจงนับ =zip.entries();
รายการ.hasMoreElements();){
รายการ ZipEntry = (ZipEntry)entries.nextElement();
สตริง zipEntryName = entry.getName();
InputStream ใน = zip.getInputStream(รายการ);
//outPath ไดเร็กทอรีเอาต์พุต
สตริง outPath = (path+"//"+zipEntryName).replaceAll("//*", "/");;
//System.out.println("outPath "+outPath);
//ตรวจสอบว่ามีเส้นทางอยู่หรือไม่ ถ้าไม่มี ให้สร้างเส้นทางไฟล์
ไฟล์ file = ไฟล์ใหม่ (outPath.substring (0, outPath.lastIndexOf ('/')));
ถ้า(!file.exists()){
ไฟล์ mkdirs();
-
//ตรวจสอบว่าเส้นทางแบบเต็มของไฟล์เป็นโฟลเดอร์หรือไม่ หากอัปโหลดไว้ด้านบนแล้ว ไม่จำเป็นต้องขยายขนาด
ถ้า (ไฟล์ใหม่ (outPath).isDirectory()){
ดำเนินการต่อ;
-
//ส่งออกข้อมูลเส้นทางไฟล์
System.out.println (เส้นทางออก);
OutputStream out = FileOutputStream ใหม่ (outPath);
ไบต์ [] buf1 = ไบต์ใหม่ [1024];
อินท์เลน;
ในขณะที่((len=in.read(buf1))>0){
ออก.write(buf1,0,เลน);
-
ใน.ปิด();
ออก.ปิด();
-
System.out.println("****************** การบีบอัดข้อมูลเสร็จสิ้น************************ *");
-
โมฆะสาธารณะคงหลัก (สตริง [] args) {
พยายาม {
unZipFiles(ไฟล์ใหม่("D://all//zip//Default.adiumemoticonset.zip"));
} จับ (IOException จ) {
// TODO บล็อก catch ที่สร้างขึ้นอัตโนมัติ
e.printStackTrace();
-
-
-