麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

java生成壓縮文件示例代碼

2019-11-26 15:53:47
字體:
來源:轉載
供稿:網友

代碼:

復制代碼 代碼如下:

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;

/**
 * @project: Test
 * @author chenssy
 * @date 2013-7-28
 * @Description: 文件壓縮工具類
 *                   將指定文件/文件夾壓縮成zip、rar壓縮文件
 */
public class CompressedFileUtil {
    /**
     * 默認構造函數
     */
    public CompressedFileUtil(){

    }

    /**
     * @desc 將源文件/文件夾生成指定格式的壓縮文件,格式zip
     * @param resourePath 源文件/文件夾
     * @param targetPath  目的壓縮文件保存路徑
     * @return void
     * @throws Exception
     */
    public void compressedFile(String resourcesPath,String targetPath) throws Exception{
        File resourcesFile = new File(resourcesPath);     //源文件
        File targetFile = new File(targetPath);           //目的
        //如果目的路徑不存在,則新建
        if(!targetFile.exists()){    
            targetFile.mkdirs(); 
        }

        String targetName = resourcesFile.getName()+".zip";   //目的壓縮文件名
        FileOutputStream outputStream = new FileOutputStream(targetPath+"http://"+targetName);
        ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(outputStream));

        createCompressedFile(out, resourcesFile, "");

        out.close(); 
    }

    /**
     * @desc 生成壓縮文件。
     *                  如果是文件夾,則使用遞歸,進行文件遍歷、壓縮
     *       如果是文件,直接壓縮
     * @param out  輸出流
     * @param file  目標文件
     * @return void
     * @throws Exception
     */
    public void createCompressedFile(ZipOutputStream out,File file,String dir) throws Exception{
        //如果當前的是文件夾,則進行進一步處理
        if(file.isDirectory()){
            //得到文件列表信息
            File[] files = file.listFiles();
            //將文件夾添加到下一級打包目錄
            out.putNextEntry(new ZipEntry(dir+"/"));

            dir = dir.length() == 0 ? "" : dir +"/";

            //循環將文件夾中的文件打包
            for(int i = 0 ; i < files.length ; i++){
                createCompressedFile(out, files[i], dir + files[i].getName());         //遞歸處理
            }
        }
        else{   //當前的是文件,打包處理
            //文件輸入流
            FileInputStream fis = new FileInputStream(file);

            out.putNextEntry(new ZipEntry(dir));
            //進行寫操作
            int j =  0;
            byte[] buffer = new byte[1024];
            while((j = fis.read(buffer)) > 0){
                out.write(buffer,0,j);
            }
            //關閉輸入流
            fis.close();
        }
    }

    public static void main(String[] args){
        CompressedFileUtil compressedFileUtil = new CompressedFileUtil();

        try {
            compressedFileUtil.compressedFile("G://zip", "F://zip");
            System.out.println("壓縮文件已經生成...");
        } catch (Exception e) {
            System.out.println("壓縮文件生成失敗...");
            e.printStackTrace();
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av成人在线免费观看 | 久久精品国产亚洲7777小说 | 91久久国产综合久久91精品网站 | 九九久久视频 | www成人在线观看 | 国产精品三级a三级三级午夜 | 性欧美日本 | h色视频在线观看 | 久久久久亚洲国产精品 | 中文字幕偷拍 | 成人免费看毛片 | 欧美羞羞视频 | 天海翼四虎精品正在播放 | 久草在线资源福利站 | a级在线| 日夜操天天干 | 中国大陆高清aⅴ毛片 | 亚州精品天堂中文字幕 | 免费在线观看毛片视频 | 曰韩av在线 | 亚洲一级片免费观看 | 亚洲一区成人在线 | 国产一区二区高清在线 | 午夜a狂野欧美一区二区 | 黄色片免费看网站 | 2021免费日韩视频网 | 午夜精品视频免费观看 | 国产在线观看91一区二区三区 | 激情大乳女做爰办公室韩国 | 日本欧美视频 | 精品影视一区二区 | 欧美 中文字幕 | 成人三级免费电影 | 国产成人高潮免费观看精品 | 中文字幕在线永久视频 | 日韩美香港a一级毛片 | 91福利社在线 | 91久久99热青草国产 | 成年片在线观看 | 永久免费黄色大片 | 青青操精品 |