精华内容
下载资源
问答
  • 展开全部有三种方式实现java压缩:1、jdk自带的包java.util.zip.ZipOutputStream,不足之处,文件(夹)名称...把 sourceDir 目录下的所有文件进行 zip 格式压缩,保存为指定 zip 文件*...

    展开全部

    有三种方式实现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==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • 怎么尽可能将pdf文件压缩最小

    千次阅读 2016-09-30 13:49:36
    大家都知道,上传文件时如果文件过大会影响我们的上传速度,这都不算什么,最重要的是有的平台有文件大小的限制,过大的文件根本不能进行上传,而现在大家又习惯将制作好的文件转换成pdf格式,这种不能编辑修改的...
    大家都知道,上传文件时如果文件过大会影响我们的上传速度,这都不算什么,最重要的是有的平台有文件大小的限制,过大的文件根本不能进行上传,而现在大家又习惯将制作好的文件转换成pdf格式,这种不能编辑修改的文件我们怎么将其上传呢?这时候我们就可以将文件进行压缩了。
    

    压缩pdf文件首先要有pdf压缩器,所以要先去下载一个;

    将pdf压缩工具下载到我们的电脑中,一步步安装完成;
    然后打开使用,先选择格式,找到“pdf压缩”功能单击;

    接着把要压缩的pdf文件添加到压缩页面中来,并设置文件文件的保存路径;
    最后一步,单击开始转换按钮,因为软件有转换文件格式的功能,所以任何操作的最后一步都是开始转换按钮;
    开始转换后等一会转换就能完成,这时单击打开按钮就能打开转换好的文件查看转换效果啦。
    展开全文
  • 怎么样把pdf压缩最小

    千次阅读 2016-10-13 15:56:30
    无论是什么文件,过大都会给我们带来麻烦,或者是上传慢,或者是占空间,但如果你的文件是word或其他可以编辑的格式,那么可以直接删除一些内容使其变小,但文件是pdf格式的该怎么办呢?别担心,接下来就教大家如何...

    无论是什么文件,过大都会给我们带来麻烦,或者是上传慢,或者是占空间,但如果你的文件是word或其他可以编辑的格式,那么可以直接删除一些内容使其变小,但文件是pdf格式的该怎么办呢?别担心,接下来就教大家如何压缩pdf文件。

    压缩pdf文件的准备工作:先下载一个pdf压缩器


    打开现在好的pdf压缩器就可以开始压缩了;

    先在“pdf的其他操作”中找到pdf压缩功能单击选中;

    接着单击选择文件按钮,找到要进行压缩的pdf文件并打开就能在压缩页面看到添加的文件了;

    添加好文件之后设置一下文件的保存路径;

    最后单击开始转换按钮就可以了。

    展开全文
  • 2.6.2 Lex输入文件格式 59 2.6.3 使用Lex的TINY扫描程序 64 练习 65 编程练习 67 注意与参考 67 第3章 上下文无关文法及分析 69 3.1 分析过程 69 3.2 上下文无关文法 70 3.2.1 与正则表达式比较 70 3.2.2 上下文...
  • JPEG格式是目前网络上最流行的图像格式,可以把文件压缩最小,在 Photoshop软件中以JPEG格式储存时,提供11级压缩级别,目前各浏览器均支持JPEG格式。它是特别为照片图像设计的文件格式。JPEG支持数百万种色彩。...


    目前在网络上最常用的图像格式主要有JPEG、GIF、PNG格式。

    JPEG格式是目前网络上最流行的图像格式,可以把文件压缩到最小,在 Photoshop软件中以JPEG格式储存时,提供11级压缩级别,目前各浏览器均支持JPEG格式。它是特别为照片图像设计的文件格式。JPEG支持数百万种色彩。JPEG是质量有损耗的格式,这意味着在压缩时,一些图像数据丢失了,这降低了最终文件的质量,然而,图像数据数据被抛弃得很少,不会在质量上有非常明显的不同。


    GIF格式图像中的数据是经过压缩的,它靠水平扫描像素行找到固定的颜色区域进行压缩,然后减少同一区域中的像素数量。所以它的文件大小一般都会比其他格式的图像文档要小。另外,虽然它仅包括256种色彩,但GIF提供了出色的,几乎没有丢失的图像压缩,由于它非常容易读取,而且支持动态效果包含透明区域。PNG格式结合了GIF和JPEG的优点,,可以储存非破坏性压缩、全彩的图片,并且可以支持透明背景的效果。GIF通常适用于卡通,图形,Logo,带有透明区域的图形,动画等。

    展开全文
  • 史上超高压缩软件2009

    2009-09-04 14:46:16
    0.231 加入了解压时自定解压缩文件的路径.出现错误时立即停止程序而不继续压缩/解压. 优化内核程序使压缩/解压速度提高了4%.增加了使用示例.修正了几个不重要的小bug. 0.230l 由0.230完整版修改而成. 0.230 UDA的第...
  • 3.3 压缩倒排文件 无参模型(Nonparameterized models) 全局贝努里模型 全局观测频率模型(Global observed frequency model) 局部贝努里模型(Local Bernoulli model) 有偏贝努里模型(Skewed Bernoulli model)...
  • MP3格式解析

    2012-07-28 17:39:09
    MP3 的全称应为MPEG1 Layer-3 音频文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG 音频文件是MPEG1 标准中的声音部分,也叫MPEG 音频层,它根据压缩质量和编码...
  • 批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行...
  • JPG、PNG、GIF有什么区别?

    千次阅读 2019-08-25 19:41:09
    GIF是一种色彩效果低、体积小、支持透明的图像文件格式。 图片大小比较 PNG ≈ JPG > GIF 通常情况下,PNG要比JPG大一些,GIF所占体积最小。 在这个追求速度的年代,图片刷新出来的速度也严重影响这...
  • SStable是排序字符串表,顺序存储key的key-value日志格式,要求每个key在合并的段文件中只出现一次(在压缩的过程中确保) SSTable相较于纯哈希索引日志段的优点 合并段更高效,支持文件大于可用内存 合并方法类似...
  • Unity3D性能优化(四)——图片资源

    千次阅读 2016-08-27 12:00:52
    1.支持的图片格式 jpg : 有损压缩 文件小 不支持透明 png: 无损压缩 文件小 支持透明 tag:无所压缩 文件大 支持透明 dds : 无损压缩 文件最小 支持透明 不支持iOS2.导入Unity的图片为什么有些会变大? 图
  • 2021-03-19

    2021-03-19 10:13:17
    前序:由于模型较大,在3dmax导出 xx.FBX格式模型,大小为29.6 MB,但是我现在想把它转成osg自己的格式来加载,所以就要了解这几个格式什么不同 这几种格式,存储最大的是 osg , 最小的是 ive , 中间的是 osgb ...
  • 文件最小化/文件压缩 使用 CDN 托管 缓存的使用(多个域名来提供缓存) 2.请说出三种减少页面加载时间的方法 优化图片 图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方) 优化 CSS(压缩...
  • b) 当浏览错误格式的 ZIP 压缩文件时, WinRAR 可能会显示错误的文件名称; c) WinRAR 3.90 不能解压缩以“-lh7-”算法创建的 LZH 压缩文件; d) 如果启用“删除到回收站”, WinRAR 3.90 在压缩完毕后可能无法删除...
  • 同样一张图像的文件尺寸,BMP格式最大,PNG其次,JPEG最小。根据png文件格式不失真的优点,我们一般将其使用在DOCK中作为可缩放的图标。 ICO Windows使用的图标文件格式。这种文件格式广泛存在于windows系统中的dll...
  • 经典的文件格式.jpg和.png是几十年前开发的,因此在压缩率和文件大小方面与当时的技术水平相对应。 JaJuMa的Magento 2 WebP优化图像扩展使您有机会轻松地用WebP优化图像对待客户。 以最小的努力和风险。 亮点与优势...
  • 一个小巧免费的流程图绘制工具,Diagram Designer。速度飞快,无需安装。我想对大多数人来说,无论是画流程图,还是设计界面,还是做一些简单的演示,都够用了。... 使用压缩格式,使得文件尺寸最小
  • 1) 你应该尽量不要往虚拟盘上放太多东西,压缩后的映像文件不能超过64K 2) 当你改变虚拟盘大小时必须重新创建映像文件 3) 当映像文件大小和虚拟盘大小不符时,虚拟盘将不再自动格式化。 如果要驱动自动格式化,...
  • 中文API支持库(1.0-0

    2009-04-17 08:28:19
    如hfFile是一个压缩文件的句柄,同时那个压缩文件是由LZOpenFile 或 LZInit函数打开的,这个函数就会在读入数据的同时对文件进行解压处理。 返回值,实际读入的字节数。如这个数字小于cbread,表明早已抵达了文件的...
  • 导入/导出功能可用(压缩,完全加密的.pwv文件格式或未加密的,可编辑的.xml文件格式)。 ➤文件加密器:安全加密您的私人和机密文件或整个文件夹。基本文件加密视频教程:https://youtu.be/asLRhjkfImw ➤文本...
  • ✓遵循原始图像的链接✓只需要最小权限下载所有图像---------------------✓将网站上的所有图像以.zip文件格式下载✓或下载单个图像✓预览窗口显示网站上所有图像的格式和大小编辑所有图像----------------✓直接在...
  • 导入/导出功能可用(压缩的,完全加密的.pwv文件格式或未加密的,可编辑的.xml文件格式)。 ➤文件加密器:安全地加密您的私人和机密文件或整个文件夹。基本文件加密视频教程:https : //youtu.be/asLRhjkfImw ...
  • 签名文件和位图的压缩 148 3.6 索引方法的比较 151 3.7 大小写折迭. 词根化和停用词 153 大小写折迭 154 词根化 154 影响索引长度的因素 155 停用词(stop word) 156 3.8 进一步阅读 159 第4章 查询 162 ...
  • 识别常见病毒,病毒一般是以隐藏形式藏匿在计算机的文件中,要把文件的隐藏属性打开。每一盘都有工具这个选项,如下图所示: 49 五.常用DOS命令 60 第一章COMS的设置 开机画面现在有两种,一种为AMI公司开发的,...
  • - 完美取代FTP管理:可用于服务器文件管理,zip解压缩 备份还原、支持图片、音乐、视频预览、office、pdf等格式在线预览。文件夹拖拽上传……。 - 在线编程:支持几乎所有编程语言的在线编辑(高亮,多光标编辑.堪比...
  • 电子书架

    2006-03-16 00:00:00
    您存放在电子书架内的资料可以方便地导出为TXT纯文本文件、RTF多格式文档、HTML网页文件、Windows帮助格式的CHM文件、甚至CHM工程文件组。可以批量导出,导出生成的HTML文件自动建立索引页。这个功能使得电子书架...
  •  如果你买的正版CD,想转换成APE格式,建议使用更专业的软件EAC来抓出来WAVE格式文件,再用千千转换.直接用千千转换原CD的话,很难做到音质完美无暇。 17、千千的主窗口找不到了?  有时候,千千的主窗口会不...
  •  安装模板点击模板->安装菜单,选择模板包文件,即可从 .zip 压缩文件中安装模板。  分发模板点击模板->打包菜单,可以将选定的模板打包为 .zip 文件,用于存档或分发给其它用户。  删除模板选定需要删除的模板,...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 158
精华内容 63
关键字:

压缩文件什么格式最小