其他分享
首页 > 其他分享> > 解压缩文件,删除文件夹下的文件

解压缩文件,删除文件夹下的文件

作者:互联网

    public void deleteFloder(File floder) {
        File files[] = floder.listFiles();
        if (files != null) {
            for (int i = 0; i < files.length; i++) {
//                System.out.println(files[i].getName());
                if (files[i].isDirectory()) {
                    deleteFloder(files[i]);
                } else {
                    files[i].delete();
                }

            }
        }
        
    }
    /**
     * 解压缩
     * @param inputFile
     * @throws Exception
     */
    public void zipUncompress(String inputFile) throws Exception {
        File srcFile = new File(inputFile);
        // 判断源文件是否存在
        if (!srcFile.exists()) {
            throw new Exception(srcFile.getPath() + "所指文件不存在");
        }
        String destDirPath = inputFile.replace(".zip", ""); // "src/main/kettle/";
        
        //创建压缩文件对象
        ZipFile zipFile = new ZipFile(srcFile, Charset.forName("GBK"));
        //开始解压
        Enumeration<?> entries = zipFile.entries();
        while (entries.hasMoreElements()) {
            ZipEntry entry = (ZipEntry) entries.nextElement();
            // 如果是文件夹,就创建个文件夹
            if (entry.isDirectory()) {
                srcFile.mkdirs();
            } else {
                // 如果是文件,就先创建一个文件,然后用io流把内容copy过去
                File targetFile = new File(destDirPath + "/" + entry.getName());
                // 保证这个文件的父文件夹必须要存在
                if (!targetFile.getParentFile().exists()) {
                    targetFile.getParentFile().mkdirs();
                }
                targetFile.createNewFile();
                // 将压缩文件内容写入到这个文件中
                InputStream is = zipFile.getInputStream(entry);
                FileOutputStream fos = new FileOutputStream(targetFile);
                int len;
                byte[] buf = new byte[1024];
                while ((len = is.read(buf)) != -1) {
                    fos.write(buf, 0, len);
                }
                // 关流顺序,先打开的后关闭
                fos.close();
                is.close();
            }
        }
        zipFile.close();
    }

 

标签:files,删除,srcFile,压缩文件,文件夹,File,new,targetFile,inputFile
来源: https://www.cnblogs.com/utomboy/p/15923567.html