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 پاسخ 487 بازدید
+1 امتیاز
1 پاسخ 1.7هزار بازدید
+1 امتیاز
0 پاسخ 566 بازدید
0 امتیاز
1 پاسخ 133 بازدید
+1 امتیاز
1 پاسخ 834 بازدید
...