`
dwj147258
  • 浏览: 194096 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java将文件压缩成tar.gz

阅读更多

 public static File compressTarFile(List<File> list, String  targzipFilePath, String targzipFileName){    

     byte[] buf = new byte[1024]; //设定读入缓冲区尺寸     

     try{     

         //建立压缩文件输出流     

         FileOutputStream fout=new FileOutputStream(targzipFilePath+"test.tar.gz");    

         //建立tar压缩输出流     

         TarOutputStream tout=new TarOutputStream(fout);    

         for(File file : list){    

             //打开需压缩文件作为文件输入流     

             FileInputStream fin=new FileInputStream(file);   //filename是文件全路径    

             TarEntry tarEn=new TarEntry(file); //此处必须使用new TarEntry(File file);    

             tarEn.setName(file.getName());  //此处需重置名称,默认是带全路径的,否则打包后会带全路径    

             tout.putNextEntry(tarEn);      

             int num = -1;     

             while ((num=fin.read(buf)) > 0){     

                 tout.write(buf,0,num);     

             }     

             tout.closeEntry();    

             fin.close();     

         }    

         tout.close();       

         fout.close();  

         //建立压缩文件输出流  

        FileOutputStream gzFile=new FileOutputStream(targzipFilePath+targzipFileName);   

       //建立gzip压缩输出流  

        GZIPOutputStream gzout=new GZIPOutputStream(gzFile);   

       //打开需压缩文件作为文件输入流  

        FileInputStream tarin=new FileInputStream(targzipFilePath+"test.tar.gz");     

       int len;   

       while((len=tarin.read(buf)) != -1){   

            gzout.write(buf,0,len);   

        }   

        gzout.close();   

        gzFile.close();   

        tarin.close();

         return new File(targzipFilePath+targzipFileName);

     }catch(Exception e){    

       e.printStackTrace();    

     }  

     return null ; 

  }

 

先归档,后压缩

分享到:
评论

相关推荐

    使用Java API进行tar.gz文件及文件夹压缩解压缩.docx

    下面的例子展示了如何将 tar.gz 文件解压到指定的目录。import org.apache.commons.compress.archivers.tar.TarArchiveEntry;import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;import org....

    Java压缩解压缩tar.gz

    2. **解压缩tar.gz文件**: - 使用`GzipCompressorInputStream`和`TarArchiveInputStream`解压缩: ```java import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons....

    mysql-connector-java-5.1.40.tar.gz

    解压缩".tar.gz"文件,可以使用`tar`命令。Linux中的`tar`命令用于处理归档文件,而`.gz`表示文件被gzip压缩了。解压缩的命令通常是: ```bash tar -zxvf mysql-connector-java-5.1.40.tar.gz ``` 这条命令的参数...

    java读取tar.gz压缩文件的jar包

    java读取tar.gz压缩文件的jar包

    nexus-3.69.0-02-java17-unix.tar.gz

    首先,我们来看“nexus-3.69.0-02-java17-unix.tar.gz”这个文件。这是一个针对Unix系统的归档文件,采用gzip压缩格式。Unix是一种历史悠久且广泛使用的操作系统,其稳定性和灵活性使其成为服务器环境的首选。Nexus...

    java 解析 tar gz文件 两种方法

    在Java编程中,处理tar.gz文件常常用于归档和压缩大量数据。tar.gz文件是由tar命令创建的归档文件,然后通过gzip工具进行压缩。在Java中解析这种类型的文件,通常需要两个步骤:首先解压gzip,然后解包tar。这里我们...

    protobuf3.6.1-3.7.1.tar.gz

    标题中的"protobuf3.6.1-3.7.1.tar.gz"以及描述中的"protobuf3.6.1_3.7.1.tar.gz"都指的是一个包含Protocol Buffers(protobuf)不同版本的压缩文件,这里分别是3.6.1和3.7.1两个版本。protobuf是由Google开发的一种...

    mysql-connector-java-5.1.29.tar.gz

    `mysql-connector-java-5.1.29.tar.gz`这个文件是MySQL Connector/J的5.1.29版本,以tar.gz格式打包,这是一种常见的Linux/Unix平台上的归档和压缩格式。 MySQL Connector/J 5.1.29版本包含了以下关键知识点: 1. ...

    mysql-connector-java-8.0.19.tar.gz

    在使用"mysql-connector-java-8.0.19.tar.gz"时,首先需要将其解压缩。这通常可以通过命令行工具或图形界面的解压软件完成。解压后,你会得到一个名为`mysql-connector-java-8.0.19`的目录,其中包含`mysql-...

    pcre-8.40.tar.gz

    标题中的“pcre-8.40.tar.gz”是一个开源软件包,名为Perl Compatible Regular Expressions(PCRE)的版本8.40,它被压缩为一个tar.gz格式的文件。这种格式通常在Linux和类UNIX系统中使用,用于存储和分发软件源代码...

    ant操作7zip压缩、解压 tar.gz

    在这个例子中,`compress`目标会创建一个包含"src"目录内容的tar文件,然后将其压缩为tar.gz。`extract`目标则会解压tar.gz文件并将其内容解压到"extracted"目录。 了解这些基础知识后,我们可以更有效地利用7-Zip...

    javasqlite-20090430.tar.gz

    标题中的"javasqlite-20090430.tar.gz"是一个特定版本的JavaSQLite库的压缩包文件,发布于2009年4月30日。JavaSQLite是一个将SQLite数据库引擎与Java集成的开源库,它允许Java开发者在应用程序中直接使用SQLite...

    mysql-connector-java-5.1.32.tar.gz

    首先,"mysql-connector-java-5.1.32.tar.gz" 是一个针对Linux或Unix环境的归档文件,采用tar格式打包,并用gzip进行压缩。这种类型的文件在Unix-like系统中非常常见,用于收集和压缩多个相关文件。要解压这个文件,...

    jdk-8u162-linux-x64.tar.gz.zip

    标题中的"jdk-8u162-linux-x64.tar.gz.zip"是一个文件名,它表明这是一款针对Linux操作系统x64架构的Java Development Kit(JDK)的压缩包,版本号为8u162。JDK是Oracle公司提供的Java编程语言的软件开发工具包,...

    java 压缩/解压 .zip/.rar/.tar 文件

    本文将详细讲解如何使用Java API来压缩和解压缩`.zip`、`.rar`和`.tar`这三种常见的文件格式。 首先,对于`.zip`文件的处理,我们可以使用Apache的`commons-compress`库中的`ZipFile`和`ZipOutputStream`类。在提供...

    gcc-java-4.1.2.tar.gz

    1. **解压**:使用`tar -zxvf gcc-java-4.1.2.tar.gz`命令来解压缩文件。 2. **配置**:运行`./configure`脚本来检测系统环境并准备构建。 3. **编译**:使用`make`命令来编译源代码。 4. **安装**:使用`make ...

    jdk-11.0.6_linux-x64_bin.tar.gz.zip

    文件名中的`.tar.gz`表明这是一个经过两次压缩的文件,首先使用tar命令将所有文件打包成一个.tar文件,然后使用gzip进行压缩,生成.tar.gz文件。而`.zip`后缀表示这个.tar.gz文件再次被ZIP压缩格式封装,这样做的...

    findbugs-1.3.9.tar.gz + protobuf-2.5.0.tar.gz +snappy-1.1.1.tar.

    标题中的三个压缩包文件分别是`findbugs-1.3.9.tar.gz`、`protobuf-2.5.0.tar.gz`和`snappy-1.1.1.tar.gz`,它们各自代表了不同的开源工具或库,分别在软件质量检测、数据序列化和数据压缩方面发挥着重要作用。...

    jdk-8u401-linux-x64.tar.gz.7z

    标题“jdk-8u401-linux-x64.tar.gz.7z”表明这是一个Java开发工具包(JDK)的压缩文件,版本为8u401,适用于Linux操作系统,特别是x64架构的系统。它被进一步压缩成了7z格式,这是一种高效且常见的文件压缩格式,...

    mysql-connector-java-5.1.49.tar.gz

    这个压缩文件包含了JDBC(Java Database Connectivity)驱动,使得Java开发者能够在他们的应用中与MySQL数据库进行交互。 JDBC是Java平台上的一个标准API,它提供了统一的接口来访问各种不同的数据库系统。通过使用...

Global site tag (gtag.js) - Google Analytics