精华内容
下载资源
问答
  • 试一下 我的 方法 这个 包你满意。。public static void zip(File[] files, String outputFile) throws IOException{//如果files长度为0,zout.close()方法会抛异常: ZIP file must have at least one entryif...

    试一下 我的 方法 这个 包你满意。。

    public static void zip(File[] files, String outputFile) throws IOException

    {

    //如果files长度为0,zout.close()方法会抛异常: ZIP file must have at least one entry

    if(files.length == 0)

    {

    LogUtils.warn("Log file list is empty");

    return;

    }

    FileOutputStream out = null;

    BufferedOutputStream buffOut = null;

    ZipOutputStream zout = null;

    try

    {

    out = new FileOutputStream(outputFile);

    buffOut = new BufferedOutputStream(out);

    zout = new ZipOutputStream(buffOut);

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

    {

    InputStream in = null;

    BufferedInputStream buffIn = null;

    try

    {

    in = new FileInputStream(files[i]);

    buffIn = new BufferedInputStream(in, BUFF_SIZE);

    ZipEntry zipEntry = new ZipEntry(files[i].getName());

    zout.putNextEntry(zipEntry);

    int len = 0;

    byte data[] = new byte[BUFF_SIZE];

    while ((len = buffIn.read(data)) != -1)

    {

    zout.write(data, 0, len);

    }

    }

    finally

    {

    try

    {

    zout.closeEntry();

    }

    catch (IOException e)

    {

    LogUtils.exception(e, "Close zip file entry failed");

    }

    closeStream(buffIn);

    closeStream(in);

    }

    }

    }

    finally

    {

    closeStream(zout);

    closeStream(buffOut);

    closeStream(out);

    }

    }

    取消

    评论

    展开全文
  • linux 压缩与打包(tar)

    千次阅读 2021-05-17 21:31:33
    简介压缩、解压缩、打包这些词语在计算机中经常会用到,linux下如何...linux 下的后缀名是没有意义的但是为了方便区分不同文件,所以 linux 使用了一系列的后缀来区分这些文件后缀名说明*.Zcompress 压缩文件*.gzg...

    简介

    压缩、解压缩、打包这些词语在计算机中经常会用到,linux下如何进行这些操作呢,继续往下看就知道了

    linux常见的压缩命令

    在使用linux系统时,经常会看到 .tar .tar.gz 这样的文件,这就是打包压缩处理后的文件

    大家都知道 linux 下的后缀名是没有意义的

    但是为了方便区分不同文件,所以 linux 使用了一系列的后缀来区分这些文件

    后缀名

    说明

    *.Z

    compress 压缩文件

    *.gz

    gzip 压缩文件

    *.bz2

    bzip2 压缩文件

    *.tar

    tar 打包文件,没有压缩

    *.tar.gz

    tar 打包,通过 gzip 压缩的文件

    *.tar.bz2

    tar 打包,通过 bzip2 压缩的文件

    compress 需要安装已过时,并且 gzip 可以解压 .Z 的文件,所以不进行介绍

    gzip 应用比较广泛,可以取代 compress

    # 用法

    gzip 参数 文件名

    # 参数

    -c 将压缩的数据显示到屏幕上

    -d 解压缩

    -n n是数字 1 到 9,9最慢,但是压缩比最好,默认是6

    # 范例

    gzip index.html # 将删除源文件,产生 index.html.gz 文件

    gzip -d index.html.gz # 解压该文件,同时也删除 .gz 源文件

    gzip -c index.html > index.heml.gz # 这样可以保留源文件

    bzip2 比 gzip 更加高级

    # 用法

    bzip2 参数 文件名

    # 参数

    -c 将压缩的数据显示到屏幕上

    -d 解压缩

    -k 保留源文件

    -n 与gzip相同 -9 最佳, -1最快

    # 范例

    bzip2 index.html # 将删除源文件,产生 index.html.bz2 文件

    gzip -d index.html.bz2 # 解压该文件,同时也删除 .bz2 源文件

    打包命令 tar 与压缩解压缩的配合

    虽然gzip或bzip2可以对目录进行压缩,但是是将目录内的文件分别压缩的,这时tar命令就很有用了,它可以将很多目录和文件打包成一个文件,同时还可以配合压缩解压缩命令来使用

    tar 命令的使用方法

    # 使用方法

    tar 参数 -f 文件名 原始文件

    tar 参数 -f 文件名

    tar 参数 -f 文件名 -C 解压到这个目录

    # 参数

    -c 新建打包文件,配合 -v 可以查看过程

    -t 查看打包文件的内容,里面都有什么文件

    -x 解包解压,配合 -C 大写 在特定目录解

    # -c -t -x 不能同时出现在一串命令中

    -j 通过 bzip2 压缩解压缩,文件名最好使用 *.tar.bz2

    -z 通过 gzip 压缩解压缩,文件名最好使用 *.tar.gz

    -v 显示过程

    -f filename -f后面要接文件名

    -C (大写)解压时使用,指定目录

    # 范例

    tar -jcvf name.tar.bz2 name # 将name打包压缩成name.tar.bz2

    tar -jtvf name.tar.bz2 # 查看name.tar.bz2内容

    tar -jxvf name.tar.bz2 # 解压name.tar.bz2

    # 注意 f 参数一定要放在最后,因为文件名要紧贴着f参数

    不同类型参数表格

    文件后缀类型

    压缩工具

    解压工具

    补充

    .gz

    gzip

    gunzip

    加参数解压 gzip -d

    .bz2

    bzip2

    bunzip2

    加参数解压 bzip2 -d

    .zip

    zip

    unzip

    unzip 需要安装

    .tar

    tar

    tar

    这是打包工具

    .tar.gz

    tar

    gzip

    -z 参数处理

    .tar.bz2

    tar

    bzip2

    -j 参数处理

    这个类似一个速查表,例子上面已经演示过了

    tar还有 -p 参数保留权限,和其他很多用法,详细查看 man 手册

    结束

    展开全文
  • 前言ZIP,是一个文件压缩的算法。ZIP通常使用后缀名“.zip”,它的MIME格式为 application/zip 。目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。从性能上比较,RAR格式...

    前言

    ZIP,是一个文件的压缩的算法。ZIP通常使用后缀名“.zip”,它的MIME格式为 application/zip 。目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。从性能上比较,RAR格式较ZIP格式压缩率较高,但是它的压缩时间远远高于Zip。

    ec21ae9da6ce5ddb7eb8c3bf36e2e1f1.png

    在日常java开发中,经常会用到将一个文件夹或文件夹中的内容压缩成一个zip包,这里我们就从以下几个需要注意的事项入手,谈一谈java如何开发zip压缩类。

    zip压缩注意事项

    1 判断当前服务器是Windows服务器还是Linux服务器

    我们知道,当前服务器的操作系统的两大主流是windows服务器和linux服务器,对于不同的服务器,zip压缩软件的安装路径可能不同,如Windows上可能配有winrar,而winrar会极大的提高压缩效果;而linux服务器呢,可能会安装有zip而可以使用zip命令压缩,也比java自有的类速度要快很多。那么如何区分当前系统是Windows系统还是Linux系统呢?

    Properties props=System.getProperties();

    if(props.getProperty("os.name").indexOf("Linux")>-1){

    //这里可以执行Linux里面的操作

    }else if(props.getProperty("os.name").indexOf("Windows")>-1){

    //这里可以执行Linux里面的操作

    }

    2.Windows系统下如何调用winrar压缩软件进行zip压缩

    729cd32c58daa2aab5185a5caf5ea5c8.png

    public static boolean winrar(String winrarfile, String folder) {

    String rarPath = "C:\\Program Files\\WinRAR\\WinRAR.exe";

    File winrarFile=new File(rarPath);

    if(winrarFile.isFile()&&winrarFile.exists()){

    String cmd="";

    cmd = rarPath + " a -ep1 " + winrarfile + " "+ folder;

    try {

    Process proc = Runtime.getRuntime().exec(cmd);

    if (proc.waitFor() != 0) {

    if (proc.exitValue() == 0)

    return true;

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    return false;

    }

    3.Linux下调用zip命令进行zip压缩

    该处需要注意,首先应在Linux服务器上安装zip,可以使用命令:yum -y install zip;

    public static boolean linuxZip(String zipfile, String folder){

    try {

    File file=new File(folder);

    if(!file.exists())

    {

    return false;

    }

    if(file.isDirectory()&&file.listFiles().length==0)

    {

    return false;

    }

    Process proc = Runtime.getRuntime().exec(new String[] { "/bin/csh", "-c","cd "+folder+";zip -r "+zipfile +" ./*" });

    if (proc.waitFor() != 0) {

    if (proc.exitValue() == 0)

    return true;

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    return false;

    }

    4.注意压缩采用的编码,避免乱码现象

    ZipOutputStream zos = new ZipOutputStream(new File(zipFileName));

    zos.setEncoding("gb2312");

    这里如果压缩后文件夹内中文文件名出现乱码,尝试修改gb2312为utf-8等别的编码,可有效解决乱码问题。

    结语

    如果您在开发过程中遇到有关zip的压缩问题,不妨在下方留言,大家一起来应对助您解决问题。如果感觉本文对您有帮助,请收藏并转发。

    展开全文
  • python解压非常

    2021-01-14 09:42:52
    我也在用Python解压/解压/解压zip文件,而那种“创建zip file对象,遍历其.namelist(),读取文件并将其写入文件系统”的低级方法似乎不是很Python。所以我开始挖掘zipfile objects我认为没有很好的文档记录,并涵盖...

    我也在用Python解压/解压/解压zip文件,而那种“创建zip file对象,遍历其.namelist(),读取文件并将其写入文件系统”的低级方法似乎不是很Python。所以我开始挖掘zipfile objects我认为没有很好的文档记录,并涵盖了所有的对象方法:>>> from zipfile import ZipFile

    >>> filepath = '/srv/pydocfiles/packages/ebook.zip'

    >>> zip = ZipFile(filepath)

    >>> dir(zip)

    ['NameToInfo', '_GetContents', '_RealGetContents', '__del__', '__doc__', '__enter__', '__exit__', '__init__', '__module__', '_allowZip64', '_didModify', '_extract_member', '_filePassed', '_writecheck', 'close', 'comment', 'compression', 'debug', 'extract', 'extractall', 'filelist', 'filename', 'fp', 'getinfo', 'infolist', 'mode', 'namelist', 'open', 'printdir', 'pwd', 'read', 'setpassword', 'start_dir', 'testzip', 'write', 'writestr']

    我们开始了,“extractall”方法的工作方式就像tarfile's extractall!(在Python2.6和2.7上,但不是2.5)

    然后是性能问题;ebook.zip文件是84.6mb(主要是pdf文件),未压缩文件夹是103mb,默认情况下在MacOSx 10.5下压缩为“存档实用程序”。所以我对Python的timeit模块也做了同样的操作:>>> from timeit import Timer

    >>> t = Timer("filepath = '/srv/pydocfiles/packages/ebook.zip'; \

    ... extract_to = '/tmp/pydocnet/build'; \

    ... from zipfile import ZipFile; \

    ... ZipFile(filepath).extractall(path=extract_to)")

    >>>

    >>> t.timeit(1)

    1.8670060634613037

    在一台拥有90%内存的重负载机器上,其他应用程序正在使用它不到2秒。

    希望这能帮助别人。

    展开全文
  • 有人可以解释下面的谜团吗?我创建了一个大小约为37 [MB]的...然后我尝试解压缩我创建的zip文件.在Ubuntu中 – 使用终端 – 这不到1秒[秒].在python中,解压缩的代码(使用zipfile模块)接近37 [秒]运行!任何想法为什...
  • 网页开发过程中,需要用到个性化的字体,此时...安装成功后就可以进行字体压缩了,为了方便,可以新建一个index.html,引入对应的css文件,css中引入字体文件,确保ttf文件被引用 然后使用命令 font-spider E:\folde
  • 注意:大文件压缩及解压需要在后台进行,如果要查看解压详情,就要输出重定向。远程服务器,要防止网络断开连接,导致终端关闭,此时终端断开,即使后台进行,解压以及压缩也会停止。解决方法:在指令前加nohup。小...
  • 我想问的是这样的一个接口,如果我要让用户从相册选择一个视频上传到我们服务器,如果不压缩,原始视频动动就几百M的,这么大的文件直接上传显然不合适,那就只能压缩视频后再上传,但是问题来了:wx.chooseVideo这...
  • Java性能优化-压缩

    2021-03-08 02:09:37
    本博客来自我的新书Java性能优化(暂定名),第5章的Java代码优化技巧节选20,也欢迎阅读我的新书 《Spring Boot 2 精髓 》4.20 压缩在微服务调用,如果需要传入的内容过长,压缩是个不错的办法,能提高传输的速度。...
  • 统计(文件|压缩文件)的行数zcat file.gz | sed -n '$=' #迅速。直接打印出多少行。-n取消默认的输出,使用安静(silent)模式 '$=' 不知道是什么意思zcat file.gz |awk ‘END{print NR}’ # 迅...
  • lastfiles.tar你的find没有指定路径~另外,上边代码,如果在发现多的文件的时候,或者是如果文件名包括空格的时候,将可能执行失败.建议使用下边的两种代码之一-----------------------------------------------...
  • EPLAN导入edz文件太慢如何解决

    千次阅读 2021-03-18 15:25:04
    我们分析下EDZ文件的构成,这是个压缩文件,换了个壳而已。用压缩软件把edz打开,这里不是解压,直接右键,用解压软件打开.会发现里面有几个文件夹。其中体积大的文件夹通常是宏,图片,文档。部件xml这个文件夹里面...
  • 进来在学习Linux了,不过Linux的命令多了,怕记不住所以使用博客记录的方式来写下自己的学习过程,以后忘记了还可以翻阅自己写下的博客来查查...压缩文件大多扩展名是*.tar, *.tar,*.gz, *.tgz, *.gz, *.Z, *.bz2,...
  • 前言 前端文件下载我相信很多小伙伴并不陌生,下载文件的形式也有很多,例如,后端返回一个文件地址,我们把地址放在<a></a>...或者是通过后端接口返回文件流,我们再...方案二:后端对先对文件进行打包压缩
  • 如何提高几十甚至上百G文件压缩和解压效率(2012-06-05 02:21:35)标签:的如何杂谈如何提高几十甚至上百G文件压缩和解压效率需求:有几十、上百G的文件需要压缩、解压。前提是不能耗系统资源,且要减小压缩、...
  • 需求: threeJS加载在线的obj/stl模型,模型可达200-300兆,模型加载时因文件较大网络传输,需进行优化处理 解决方案: 模型压缩
  • 2016-12-30 08:18:431.在win7中安装winscp软件2....登录成功后,可以看到右侧是linux的文件系统、左侧是windo...2016-12-19 ...2、把需要复制的文件放入一个文件夹后压缩后再复制。会提高速度。3、复制文件时,不要进行...
  • 实现文件中数据的加解密与压缩:将硬盘上的一个文本文件进行加密,比较加密文件和原始文件的大小差别;对加密文件进行解密,比较原始文件和解码文件的内容是否一致。 实验说明: 1.输入和输出: (1)输入:硬盘上...
  • 使用tar压缩文件,不能超过4G,有什么办法解决-(2011-09-01 04:47:02)标签:压缩文件杂谈使用tar压缩文件,不能超过4G,有什么办法解决?我要备份自动数据库,但是数据库大了,使用tar压缩后的文件超过4G,但是tar只能压缩...
  • +++++++++++++++++++++++++++++++++++++++++++++++这里说下rsync大文件时遇到的传输的问题,以及应该如何合理的解决这个问题。现实场景如下,线上环境中需要同步一个15G的文件,服务器都是千兆网卡,正常同步也就...
  • 关于vue在首次加载时缓慢的解决办法,采用资源文件压缩的方式解决碧羽墨轩 2020-05-08【学无止境】162人已围观简介第一次打包vue的项目部署到服务器下时,发现初次加载特别的缓慢,将近20s页面才加载出来,完全没有...
  • 如图,10000多次/秒,CPU占用也高,压缩10M的文件要1分多钟,非常。我的思路是能不能在压缩时,在代码中加入缓冲区,待缓冲区满了再写文件?如果可以加缓冲区,代码要怎么写呢,下面...如图,10000多次/秒,CPU ...
  • 在使用win10系统的过程中,相同的环境下我们可以将电脑设置成局域网模式,这样就能够进行文件的传输,非常方便,可是最近有用户发现自己的win10系统局域网内传送文件,那么win10局域网内传文件怎么办呢?...
  • 很多人在制作 PPT 的时候会遇到这样一种情况:明明自己的 PPT 只有十几页,但是文件大小却已经几十M了。PPT 文件过大可能会对工作造成以下影响:❶邮箱附件大小有上限,PPT 文件过大就没办法正常地进行工作交接;❷...
  • 我注意到与使用WinZip等本机工具相比,Java中的解压缩工具非常.是否有可用于Java的第三方库更高效?开源是首选.编辑这是使用Java内置解决方案vs 7zip的速度比较.我在原始解决方案中添加了缓冲输入/输出流(感谢Jim,...
  • C# 创建压缩文件

    2021-06-08 07:46:55
    在程序中对文件进行压缩解压缩是很重要的功能,不仅...最近在一个 C# 项目中用到了创建压缩文件的功能,在此和同学们分享一下使用心得。 SharpZipLib 库 既然是很重要的用能,那么如果每个人在使用的时候都去用基本...
  • 在电脑中我们都会存放很多文件,有时候会将一些没有用的文件删除,可是近日有不少win10系统用户反映说在删除文件的时候,速度非常,这是怎么回事呢,本文就给大家分享一下win10系统删除文件速度非常的详细解决...
  • 目的:项目中使用的json文件实际有3.7Mb,浏览器加载太慢,根据同事提醒设置一下Nginx实现文件压缩传输。 配置:在相应的nginx配置文件中加上以下代码(放在location上面) gzip on; gzip_min_length 1k;#最小压缩...
  • Linux大文件传输

    2021-05-10 01:52:06
    我们经常需要在机器之间传输文件。比如备份,复制数据等等。...复制文件如果我们是复制一个未压缩文件。这里走如下步骤:压缩数据发送到另外一台机器上数据解压缩校验正确性这样做会很有效率,数据压缩...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,157
精华内容 35,662
关键字:

压缩文件太慢了