0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

چگونه می توان در یک برنامه جاوا یک فایل zip را باز (decompress) کرد؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

برای این کار در کلاس های استاندارد JDK کلاسی با نام ZipInputStream  وجود دارد، این کلاس متدی با نام getNextEntry دارد که شئ از نوع ZipEntry بر می گرداند که اطلاعات فایل های ذخیره شده درون فایل zip را درون خود دارد:

        byte[] buffer = new byte[1024];

        try {

            File outputFolder = new File("outputFolder");
            if (!outputFolder.exists()) {
                outputFolder.mkdir();
            }

            ZipInputStream zipInputStream
                    = new ZipInputStream(new FileInputStream("test.zip"));

            ZipEntry zipEntry = zipInputStream.getNextEntry();

            while (zipEntry != null) {

                String fileName = zipEntry.getName();
                File extractedFile = new File(outputFolder 
                        + File.separator + fileName);

                if (zipEntry.isDirectory()) {
                    extractedFile.mkdir();
                } else {
                    FileOutputStream fileOutputStream = 
                            new FileOutputStream(extractedFile);

                    int len;
                    while ((len = zipInputStream.read(buffer)) > 0) {
                        fileOutputStream.write(buffer, 0, len);
                    }

                    fileOutputStream.close();
                }
                zipEntry = zipInputStream.getNextEntry();
            }

            zipInputStream.closeEntry();
            zipInputStream.close();

        } catch (IOException ex) {
            ex.printStackTrace();
        }

سوالات مشابه

0 امتیاز
1 پاسخ 3.8هزار بازدید
0 امتیاز
2 پاسخ 478 بازدید
+1 امتیاز
1 پاسخ 1.6هزار بازدید
+1 امتیاز
0 پاسخ 561 بازدید
0 امتیاز
1 پاسخ 130 بازدید
+1 امتیاز
1 پاسخ 821 بازدید
...