在解压缩

时间:2018-05-09 21:06:39

标签: java zip

我正在尝试编写保存原始文件和文件夹结构的解压缩文件的方法,但是,似乎mkdir()没有创建所需的文件夹,因此我不断得到:系统找不到指定的路径。 那么,请问任何解决方案?
这是我的代码:

public static void unzip(File file) throws IOException{
        byte[] buffer = new byte[1024];
        ZipInputStream zis = new ZipInputStream(new FileInputStream(file.toString()));
        ZipEntry zipEntry = zis.getNextEntry();
        while(zipEntry != null){
            String fileName = zipEntry.getName();
                            System.out.println(file.toString().substring(0,file.toString().lastIndexOf("."))+"\\"+fileName);
            File newFile = new File(file.toString().substring(0,file.toString().lastIndexOf("."))+"/"+fileName);
            if(newFile.getParent()!=null){
               File f= new File(newFile.getParent())
               f.mkdir();


            }
            System.out.println(newFile.getParent());
            FileOutputStream fos = new FileOutputStream(newFile);
            System.out.println(fileName);
            System.out.println(newFile.getName());
            System.out.println(newFile.getParent());
            System.out.print(file.getName().substring(0,file.getName().lastIndexOf("."))+"/" + fileName);


            int len;
            while ((len = zis.read(buffer)) > 0) {
                fos.write(buffer, 0, len);
            }
            zipEntry=zis.getNextEntry();
            fos.close();
        }
        zis.closeEntry();
        zis.close();

    }

0 个答案:

没有答案