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.5هزار بازدید
0 امتیاز
2 پاسخ 355 بازدید
+1 امتیاز
1 پاسخ 1.5هزار بازدید
+1 امتیاز
0 پاسخ 415 بازدید
0 امتیاز
1 پاسخ 42 بازدید
+1 امتیاز
1 پاسخ 681 بازدید
...