精华内容
下载资源
问答
  • 展开全部有三种方式实现java压缩:1、jdk自带的包java.util.zip.ZipOutputStream,不足之处,文件(夹)名称32313133353236313431303231363533e59b9ee7ad9431333363393666带中文时,出现乱码问题,实现代码如下:/*** ...

    展开全部

    有三种方式实现java压缩:

    1、jdk自带的包java.util.zip.ZipOutputStream,不足之处,文件(夹)名称32313133353236313431303231363533e59b9ee7ad9431333363393666带中文时,出现乱码问题,实现代码如下:

    /**

    * 功能:把 sourceDir 目录下的所有文件进行 zip 格式的压缩,保存为指定 zip 文件

    * @param sourceDir 如果是目录,eg:D:\\MyEclipse\\first\\testFile,则压缩目录下所有文件;

    * 如果是文件,eg:D:\\MyEclipse\\first\\testFile\\aa.zip,则只压缩本文件

    * @param zipFile 最后压缩的文件路径和名称,eg:D:\\MyEclipse\\first\\testFile\\aa.zip

    */

    public File doZip(String sourceDir, String zipFilePath) throws IOException {

    File file = new File(sourceDir);

    File zipFile = new File(zipFilePath);

    ZipOutputStream zos = null;

    try {

    // 创建写出流操作

    OutputStream os = new FileOutputStream(zipFile);

    BufferedOutputStream bos = new BufferedOutputStream(os);

    zos = new ZipOutputStream(bos);

    String basePath = null;

    // 获取目录

    if(file.isDirectory()) {

    basePath = file.getPath();

    }else {

    basePath = file.getParent();

    }

    zipFile(file, basePath, zos);

    }finally {

    if(zos != null) {

    zos.closeEntry();

    zos.close();

    }

    }

    return zipFile;

    }

    /**

    * @param source 源文件

    * @param basePath

    * @param zos

    */

    private void zipFile(File source, String basePath, ZipOutputStream zos)

    throws IOException {

    File[] files = null;

    if (source.isDirectory()) {

    files = source.listFiles();

    } else {

    files = new File[1];

    files[0] = source;

    }

    InputStream is = null;

    String pathName;

    byte[] buf = new byte[1024];

    int length = 0;

    try{

    for(File file : files) {

    if(file.isDirectory()) {

    pathName = file.getPath().substring(basePath.length() + 1) + "/";

    zos.putNextEntry(new ZipEntry(pathName));

    zipFile(file, basePath, zos);

    }else {

    pathName = file.getPath().substring(basePath.length() + 1);

    is = new FileInputStream(file);

    BufferedInputStream bis = new BufferedInputStream(is);

    zos.putNextEntry(new ZipEntry(pathName));

    while ((length = bis.read(buf)) > 0) {

    zos.write(buf, 0, length);

    }

    }

    }

    }finally {

    if(is != null) {

    is.close();

    }

    }

    }

    2、使用org.apache.tools.zip.ZipOutputStream,代码如下,

    package net.szh.zip;

    import java.io.BufferedInputStream;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.util.zip.CRC32;

    import java.util.zip.CheckedOutputStream;

    import org.apache.tools.zip.ZipEntry;

    import org.apache.tools.zip.ZipOutputStream;

    public class ZipCompressor {

    static final int BUFFER = 8192;

    private File zipFile;

    public ZipCompressor(String pathName) {

    zipFile = new File(pathName);

    }

    public void compress(String srcPathName) {

    File file = new File(srcPathName);

    if (!file.exists())

    throw new RuntimeException(srcPathName + "不存在!");

    try {

    FileOutputStream fileOutputStream = new FileOutputStream(zipFile);

    CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream,

    new CRC32());

    ZipOutputStream out = new ZipOutputStream(cos);

    String basedir = "";

    compress(file, out, basedir);

    out.close();

    } catch (Exception e) {

    throw new RuntimeException(e);

    }

    }

    private void compress(File file, ZipOutputStream out, String basedir) {

    /* 判断是目录还是文件 */

    if (file.isDirectory()) {

    System.out.println("压缩:" + basedir + file.getName());

    this.compressDirectory(file, out, basedir);

    } else {

    System.out.println("压缩:" + basedir + file.getName());

    this.compressFile(file, out, basedir);

    }

    }

    /** 压缩一个目录 */

    private void compressDirectory(File dir, ZipOutputStream out, String basedir) {

    if (!dir.exists())

    return;

    File[] files = dir.listFiles();

    for (int i = 0; i < files.length; i++) {

    /* 递归 */

    compress(files[i], out, basedir + dir.getName() + "/");

    }

    }

    /** 压缩一个文件 */

    private void compressFile(File file, ZipOutputStream out, String basedir) {

    if (!file.exists()) {

    return;

    }

    try {

    BufferedInputStream bis = new BufferedInputStream(

    new FileInputStream(file));

    ZipEntry entry = new ZipEntry(basedir + file.getName());

    out.putNextEntry(entry);

    int count;

    byte data[] = new byte[BUFFER];

    while ((count = bis.read(data, 0, BUFFER)) != -1) {

    out.write(data, 0, count);

    }

    bis.close();

    } catch (Exception e) {

    throw new RuntimeException(e);

    }

    }

    }

    3、可以用ant中的org.apache.tools.ant.taskdefs.Zip来实现,更加简单。

    package net.szh.zip;

    import java.io.File;

    import org.apache.tools.ant.Project;

    import org.apache.tools.ant.taskdefs.Zip;

    import org.apache.tools.ant.types.FileSet;

    public class ZipCompressorByAnt {

    private File zipFile;

    public ZipCompressorByAnt(String pathName) {

    zipFile = new File(pathName);

    }

    public void compress(String srcPathName) {

    File srcdir = new File(srcPathName);

    if (!srcdir.exists())

    throw new RuntimeException(srcPathName + "不存在!");

    Project prj = new Project();

    Zip zip = new Zip();

    zip.setProject(prj);

    zip.setDestFile(zipFile);

    FileSet fileSet = new FileSet();

    fileSet.setProject(prj);

    fileSet.setDir(srcdir);

    //fileSet.setIncludes("**/*.java"); 包括哪些文件或文件夹 eg:zip.setIncludes("*.java");

    //fileSet.setExcludes(...); 排除哪些文件或文件夹

    zip.addFileset(fileSet);

    zip.execute();

    }

    }

    测试一下

    package net.szh.zip;

    public class TestZip {

    public static void main(String[] args) {

    ZipCompressor zc = new ZipCompressor("E:\\szhzip.zip");

    zc.compress("E:\\test");

    ZipCompressorByAnt zca = new ZipCompressorByAnt("E:\\szhzipant.zip");

    zca.compress("E:\\test");

    }

    }

    本回答被提问者采纳

    2Q==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • 在我们日常使用win7系统的过程中,压缩文件作为经常使用的东西相信很多小伙伴都对它不陌生,由于其占用空间小,所以网站下载的文件大多都是压缩包格式。很多时候我们和朋友分享文件也以压缩包的形式传输。接下来小编...

    在我们日常使用win7系统的过程中,压缩文件作为经常使用的东西相信很多小伙伴都对它不陌生,由于其占用空间小,所以网站下载的文件大多都是压缩包格式。很多时候我们和朋友分享文件也以压缩包的形式传输。接下来小编就手把手来教大家win7系统中将文件夹压缩到最小的方法。

    win7压缩文件夹怎么压缩到最小

    1.由于winrar是每一个win7用户必备的压缩工具,这里小编就以winrar为例子,告诉大家如何将文件夹压缩到最小。首先鼠标右键点击选中需要压缩的文件或者文件夹,之后在右键跳出的菜单中选择“添加到压缩文件”;

    win7压缩文件夹怎么压缩到最小

    2.之后在压缩文件名和参数菜单中点击“常规”,然后在“压缩方式”中找到“最好”,最后点击“确定”就可以了。

    win7压缩文件夹怎么压缩到最小(1)

    3.这时候我们就在win7系统中完成了压缩文件的过程,而且以该方法进行压缩的文件所占用的空间是最小的。如果小伙伴们想了解win10系统压缩文件夹怎么压缩的话可以移步至:图文教你把win10系统文件夹打包成压缩文件

    win7压缩文件夹怎么压缩到最小(2)

    以上就就是小编带来的win7压缩文件夹怎么压缩到最小的方法教程,希望对小伙伴们有所帮助。

    内容来源:win7旗舰版

    展开全文
  • 怎么在mac苹果电脑上压缩pdf文件?经常使用pdf文件的朋友可能会发现,一些pdf文件比较大大,不仅占用电脑空间,使用起来也会非常影响电脑运行速度,下面小编分享给你一个怎么在Mac苹果电脑上减小PDF文件的大小,需要...

    怎么在mac苹果电脑上压缩pdf文件?经常使用pdf文件的朋友可能会发现,一些pdf文件比较大大,不仅占用电脑空间,使用起来也会非常影响电脑运行速度,下面小编分享给你一个怎么在Mac苹果电脑上减小PDF文件的大小,需要的朋友我们一起来看一下:

    搜索 ~~~~~~~~~~~~轻云pdf编辑压缩官网 www.qingyunpdf.com

    上传pdf文件,上传完毕后网站会自动开始压缩,压缩时间也是根据时间大小,这个时候需要耐心等待一下。

    在这里插入图片描述

    当视频压缩的进度条到达100%后就表示视频压缩好了,这个时候回出现预览压缩后的效果选择,大家如果想预览压缩后的视频效果,大家点击预览视频效果按钮就可以了。

    在这里插入图片描述

    以上就是我给大家分享的mac苹果电脑压缩pdf文件到最小,并且不改变清晰度压的方法了,最大的优势就是操作简单,使用方便,需要压缩pdf的小伙伴们希望能帮到你们。

    展开全文
  • 怎么在mac苹果电脑上压缩pdf,经常使用PDF文件的朋友可能会发现,一些PDF文件比较大,不仅占用电脑空间,使用起来也会非常影响电脑运行速度,下面小编教你在如何mac苹果电脑上压缩pdf,需要的朋友我们一起来看一下:...

    怎么在mac苹果电脑上压缩pdf,经常使用PDF文件的朋友可能会发现,一些PDF文件比较大,不仅占用电脑空间,使用起来也会非常影响电脑运行速度,下面小编教你在如何mac苹果电脑上压缩pdf,需要的朋友我们一起来看一下:

    第一步:打开【轻云pdf压缩编辑官网】,上传pdf文件,上传完毕后网站会自动开始压缩,压缩时间也是根据时间大小,这个时候需要耐心等待一下。

    在这里插入图片描述

    当视频压缩的进度条到达100%后就表示视频压缩好了,这个时候回出现预览压缩后的效果选择,大家如果想预览压缩后的视频效果,大家点击预览视频效果按钮就可以了。

    这就是我给大家分享的mac苹果电脑压缩pd文件到最小,并且不改变清晰度的方法了,最大的优势就是操作简单,使用方便,无需安装,需要压缩pdf的小伙伴们可以试试哦,希望能帮到你们。

    展开全文
  • 7-zip怎么把大文件压缩最小

    千次阅读 2021-06-05 06:06:11
    7-Zip官方版不仅支持独有的7z文件格式,而且还支持各种其它压缩文件格式,包括ZIP、 RAR、CAB、GZIP、BZIP2和TAR,是一款拥有极高压缩比的开源压缩软件。7-zip软件怎么把大文件压缩到最小?1、先在本站下载并安装好7-...
  • tar -zcvf /home/xahot.tar.gz /xahottar -zcvf 打包后生成的文件名全路径 要打包的目录例子:把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件。zip 压缩方法:压缩当前的文件夹 zip -r ./xahot.zip ./* -r...
  • pdf压缩文件怎么压缩最小?pdf已经是网络上常用的文件格式了,尤其是日常办公当中,pdf使用怎么压缩pdf文件大小?pdf已经是网络上常用的文件格式了,尤其是日常办公当中,pdf使用次数非常多,但是有时候pdf文件的...
  • ,怎么把文件压缩最小我们大多数人在系统上安装了数十个应用程序。久而久之,许多文件变得越来越大,磁盘空间将开始缩小。因此,了解哪些文件或目录在占用系统的磁盘空间很重要。好消息是,你可以在Ubuntu和类似的...
  • Linux 压缩打包命令详细教程

    千次阅读 2021-05-09 01:34:15
    本文介绍的压缩打包命令包括tar、gzip、zcat、bzip2、bzcat、compress、cpio等,命令参数详细说明加上实例,方便大家学习与掌握。一、tar命令[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个...
  • Linux压缩打包命令

    2021-05-09 01:33:30
    一、压缩命令:1、compress:最为古老的压缩命令,现在基本不用了解压:uncompress2、gzip:会替换源文件解压:-d或gunzip]$ gzip cdp_w_picpath.iso$ ll cdp_w_picpath.iso.gz-rw-r--r--. 1 bill.ding it 12462 10月...
  • 视频是我们在生活中不可或缺的一部分,随着制作视频的小伙伴越来越多,大家都想把制作好的视视频是我们在生活中不可或缺的一部分,随着制作视频的小伙伴越来越...视频文件上传完毕后调整好视频的各项参数,接着点击压缩
  • 怎样把视频文件压缩最小?视频是我们在生活中不可或缺的一部分,随着制作视频的小伙伴越来越多,大家都想把制作好的视频上传到一些平台或传给别人,有时候我们会遇到视频内存过大的问题,今天我给大家介绍一个快速...
  • 1)打包gzip filename 2)解压gzip -d filename # 打包的文件会被删除 3、bzip2 Bzip2实用程序执行更快的gzip,它压缩文件和文件夹更紧凑。压缩文件时需要更多的内存,为了减少内存消耗,在选项中通过-s标志。 1)...
  • 使用在线图片处理器(https://www.yasuotu.com/)的图片压缩功能,能能够轻松压缩图片到所需的文件的大小,那么怎么把图片文件压缩最小呢?接下来给大家分享一下图片在线压缩操作方法。 点击选择图片压缩,将图片...
  • 电脑视频压缩怎么压缩最小 第一种方法: 1、将工具安装好,在电脑上打开工具,在工具打开的页面选择视频文件压缩这个按钮点击。 2、点击按钮之后我们将它来到视频压缩界面,。在这里我们要将视频文件添加到页面,...
  • PDF文件是我们办公中比较常见的一种文件格式,如果一份pdf文件比较大有时候传输时就会提示超出了大小限制,今天分享一个压缩pdf的简单的方法: 搜索一下:~~~~~~轻云pdf编辑压缩官网 打开轻云pdf编辑压缩官网,...
  • pdf怎么压缩文件最小?pdf文件怎么变小内存由于PDF文件阅读性好,很多设计师发送给客户的设计稿都是PDF格式的文件。但是如果一个PDF文件比较大的话,发送或传输的时候就会很麻烦。pdf文件太大有什么办法缩小pdf...
  • 视频压缩怎么压缩最小 怎么弄 视频容量大的话,不仅占用电脑容量,而且还不能发微信,为了解决视频体积过大给小伙伴们带来的诸多不便,小编今天给小伙伴们介绍一个简单的方法视频压缩方法,可以将视频压到很小。 1、...
  • 下面我分享一个把pdf文件压缩最小的方法: 搜索一下:~~~~~~轻云pdf编辑压缩官网 打开轻云“pdf编辑压缩官网”, 的网站。然后上传pdf。 pdf上传完成后网站会自动开始压缩,如果压缩出来大小不...
  • } //构建压缩文件File File zipFile = new File(zipFileName); //初期化ZIP流 ZipOutputStream out = null; try { //构建ZIP流对象 out = new ZipOutputStream(new FileOutputStream(zipFile)); //循环处理传过来的...
  • pdf压缩文件怎么压缩到最小?pdf已经是网络上常用的文件格式了,尤其是日常办公当中,pdf使用怎么压缩pdf文件大小?pdf已经是网络上常用的文件格式了,尤其是日常办公当中,pdf使用次数非常多,但是有时候pdf文件的...
  • java实现zip文件压缩

    2021-04-12 19:49:33
    } } private void compress(File file, ZipOutputStream out, String basedir) { /* 判断是目录还是文件 */ if (file.isDirectory()) { System.out.println("压缩:" + basedir + file.getName());...
  • /// ///解压RAR和ZIP文件(需存在Winrar.exe(只要自己电脑上可以解压或压缩文件就存在Winrar.exe))/// /// 解压后文件保存目录/// 待解压文件存放绝对路径(包括文件名称)/// 所解压的文件是否会覆盖已存在的文件(如果...
  • 压缩篇】大文件分段压缩教程 ​ 大文件自定义分段压缩—【suy】 文章目录【压缩篇】大文件分段压缩教程(一)7zip软件:7-Zip (v19.00)系统:Windows 11(v22000.282)1、软件参数设置2、自定义分段大小3、分段...
  • Gzip是最流行的压缩算法之一,允许你减小文件的大小并保持原始文件模式、所有权和时间戳,Gzip还引用.gz文件格式用于压缩和解压缩文件的gzip实用程序。gzip命令语法gzip命令的一般语法如下:gzip [OPTION]... [FILE]...
  • 但是如果在Linux系统中,我们还可以尝试用命令来实现对文件的解压缩,这篇文章主要介绍在Linux中用zip命令来压缩和解压缩文件。zip命令非常强大,下面我们一步步来介绍。1、zip命令基础怎样用zip压缩多个文件呢?...
  • 一、Windows与Linux的压缩文件 我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同 了,它有.gz、.tar.gz、.tgz、.bz2、.Z、.tar等众多的压缩文件名,其中最常见的有.gz、....
  • 1.在pycharm中新建一个工程,自己新建一个文件,如图中命名为new,修改第二个location的位置为自己新建的文件夹 2.将 需要打包的python程序放入pythonProject中 3.用pip命令在pycharm终端安装程序中所需的库...
  • Huffman编码文件压缩

    2021-03-23 17:03:36
    【问题描述】 ...依据字符Huffman编码压缩文件(即按照Huffman编码依次输出源文件字符)。 说明: 只对文件中出现的字符生成Huffman,注意:一定不要处理\n,即不要为其生成Huffman码。 采用ASCII
  • 文件的归档和压缩

    2021-05-16 17:02:54
    文件的归档和压缩•一、tar命令使用•二、其他压缩方式•三、进程管理基本概念。前言:本节主要介绍文件的归档和压缩相关方法。归档和压缩有利于linux系统中文件的管理和磁盘空间的利用,善于利用归档和压缩能为我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 152,356
精华内容 60,942
关键字:

压缩文件怎么最小