| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1514 人关注过本帖
标题:java如何使用压缩流直接生成压缩文件
只看楼主 加入收藏
penglin
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-10-17
收藏
 问题点数:0 回复次数:1 
java如何使用压缩流直接生成压缩文件
java如何使用压缩流直接生成压缩文件,压缩文件解压后,里面包含一个excel文件,此excel文件也是由数据库中导出生成.现在的问题是用输出流生成excel文件没有问题,但是我想不在本地磁盘生成excel文件,而是将excel文件进行压缩保存到本地磁盘中(这样可以加快传输速度,并可以节省服务器的外存空间)
搜索更多相关主题的帖子: java 文件 压缩 
2008-04-11 11:48
威震天下
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-2-19
收藏
得分:0 
程序代码:
/**
     * 压缩文件或者目录
     * @param baseDirName        压缩的根目录
     * @param fileName            根目录下待压缩的文件或文件夹名,
     * 星号*表示压缩根目录下的全部文件。
     * @param targetFileName    目标ZIP文件
     */
    public static void zipFile(String baseDirName, String fileName, 
            String targetFileName){
        //检测根目录是否存在
        if (baseDirName == null){
            System.out.println("压缩失败,根目录不存在:" + baseDirName);
            return;
        }
        File baseDir = new File(baseDirName);
        if (!baseDir.exists() || (!baseDir.isDirectory())){
            System.out.println("压缩失败,根目录不存在:" + baseDirName);
            return;
        }
        String baseDirPath = baseDir.getAbsolutePath();
        //目标文件
        File targetFile = new File(targetFileName);
        try{
            //创建一个zip输出流来压缩数据并写入到zip文件 
            ZipOutputStream out =new ZipOutputStream(
                    new FileOutputStream(targetFile)); 
            if (fileName.equals("*")){
                //将baseDir目录下的所有文件压缩到ZIP
                CompressUtil.dirToZip(baseDirPath, baseDir, out);
            } else {
                File file = new File(baseDir, fileName);
                if (file.isFile()){
                    CompressUtil.fileToZip(baseDirPath, file, out);
                } else {
                    CompressUtil.dirToZip(baseDirPath, file, out);
                }
            }
            out.close(); 
            System.out.println("压缩文件成功,目标文件名:" + targetFileName);
        } catch (IOException e){
            System.out.println("压缩失败:" + e);
            e.printStackTrace();
        }
    }
2008-04-11 20:08
快速回复:java如何使用压缩流直接生成压缩文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016242 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved