`
午刀十
  • 浏览: 34901 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Java文件压缩

    博客分类:
  • java
阅读更多
/**
 * 之所以用org.apache.tools.zip包而不用java.util.zip包,是由于后者对中文不能正常解析
 */

package otherTest;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

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

public class ZipTest
{

    public static void main(String[] args) throws Exception
    {
        try
        {
            List<String> sourceFileNames = new ArrayList<String>();
            sourceFileNames.add("c:\\1.docx"); //要压缩的文件1
            sourceFileNames.add("c:\\2.txt");//要压缩的文件2
            zipFiles("c:\\3.zip", sourceFileNames);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

    /**
     * zip压缩. 将指定文件集合压缩后存到一压缩文件中
     * 
     * @author: xujp1
     * @param sourceFileNames 所要压缩的文件名集合
     * @param zipFilename 压缩后的文件名
     * @return 压缩后文件的大小
     * @throws Exception
     */
    public static void zipFiles(String zipFilename, List<String> sourceFileNames) throws Exception
    {
        File objFile = new File(zipFilename);
        ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(objFile));
        for(String sourceFileName : sourceFileNames)
        {
            File sourceFile = new File(sourceFileName);
            byte[] buf = new byte[1024];
            //压缩文件名
            ZipEntry ze = null;
            //创建一个ZipEntry,并设置Name和其它的一些属性
            ze = new ZipEntry(sourceFile.getName());
            ze.setSize(sourceFile.length());
            ze.setTime(sourceFile.lastModified());
            //将ZipEntry加到zos中,再写入实际的文件内容
            zos.setEncoding("gbk");
            zos.putNextEntry(ze);
            InputStream is = new BufferedInputStream(new FileInputStream(sourceFile));
            int readLen = -1;
            while ((readLen = is.read(buf, 0, 1024)) != -1)
            {
                zos.write(buf, 0, readLen);
            }
            is.close();
        }
        zos.close();
    }
}
分享到:
评论

相关推荐

    JAVA文件压缩与解压缩实践(源代码+论文)

    本资源"JAVA文件压缩与解压缩实践(源代码+论文)"提供了一个完整的实践教程,包括源代码和相关论文,帮助开发者深入理解这一主题。 一、压缩算法简介 文件压缩主要通过特定的算法减少文件大小,常见的压缩算法有ZIP...

    java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip

    java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文)....

    (Java毕业设计)JAVA文件压缩与解压缩实践(源代码+).rar

    (Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业...

    JAVA文件压缩与解压缩实践(源代码+论文).rar

    JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件...

    JAVA文件压缩与解压缩实践(源代码).zip

    JAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩...

    JAVA文件压缩与解压缩实践(源代码+LW).zip

    JAVA文件压缩与解压缩实践(源代码+LW)JAVA文件压缩与解压缩实践(源代码+LW)JAVA文件压缩与解压缩实践(源代码+LW)JAVA文件压缩与解压缩实践(源代码+LW)JAVA文件压缩与解压缩实践(源代码+LW)JAVA文件压缩与解压缩实践...

    JAVA文件压缩与解压缩实践(源代码+论文).zip

    JAVA文件压缩与解压缩实践(源代码+论文)JAVA文件压缩与解压缩实践(源代码+论文)JAVA文件压缩与解压缩实践(源代码+论文)JAVA文件压缩与解压缩实践(源代码+论文)JAVA文件压缩与解压缩实践(源代码+论文)JAVA文件压缩与...

    java文件压缩源码

    Java文件压缩源码是Java开发中常见的需求,它允许开发者将多个文件或目录打包成一个压缩文件,方便存储和传输。在本例中,我们提到的实现方式是通过使用Apache Ant库中的`org.apache.tools.ant.taskdefs.Zip`类。...

    javaweb毕业设计-JAVA文件压缩与解压缩实践(源代码+lw)(可做课程设计).rar

    javaweb毕业设计-JAVA文件压缩与解压缩实践(源代码+lw)(可做课程设计).rarjavaweb毕业设计-JAVA文件压缩与解压缩实践(源代码+lw)(可做课程设计).rarjavaweb毕业设计-JAVA文件压缩与解压缩实践(源代码+lw)(可做课程...

    实现java文件压缩与解压

    ### 实现Java文件压缩与解压 #### 一、引言 在计算机科学领域,文件压缩与解压是一项非常实用的技术。它不仅能够减少文件占用的空间,提高存储效率,还能加速文件在网络中的传输速度。Java作为一种广泛使用的编程...

    java文件压缩

    Java文件压缩是一个常见的任务,特别是在开发环境中,例如Web开发,我们经常需要对文件或文件夹进行打包和压缩以便传输或存储。以下是对`java文件压缩`这个主题的详细阐述: 在Java中,我们可以使用标准库中的`java...

    JAVA文件压缩与解压缩实践的实现.rar

    Java文件压缩与解压缩实践是指利用Java编程语言实现对文件或文件夹进行压缩和解压缩操作。以下是该实践的描述: 技术概述: Java文件压缩与解压缩是指将一个或多个文件或文件夹打包成一个压缩文件,或者将压缩文件...

    JAVA文件压缩与解压缩实践(源代码+lw).rar

    JAVA文件压缩与解压缩实践(源代码+lw).rarJAVA文件压缩与解压缩实践(源代码+lw).rarJAVA文件压缩与解压缩实践(源代码+lw).rarJAVA文件压缩与解压缩实践(源代码+lw).rarJAVA文件压缩与解压缩实践(源代码+lw).rarJAVA...

Global site tag (gtag.js) - Google Analytics