java tar.gz文件生成
/**
* 压缩文件成Gzip格式,Linux上可使用
* 压缩文件夹生成后缀名为".gz"的文件并下载
* @param folderPath,要压缩的文件夹的路径
* @param zipFilePath,压缩后文件的路径
* @param zipFileName,压缩后文件的名称
* @throws BizException
* */
public static void CompressedFiles_Gzip(String folderPath, String targzipFilePath, String targzipFileName)
{
File srcPath =new File(folderPath);
int length=srcPath.listFiles().length;
byte[] buf = new byte[1024]; //设定读入缓冲区尺寸
File[] files = srcPath.listFiles();
try
{
//建立压缩文件输出流
FileOutputStream fout=new FileOutputStream(targzipFilePath);
//建立tar压缩输出流
TarArchiveOutputStream tout=new TarArchiveOutputStream(fout);
for(int i=0;i<length;i++)
{
String filename=srcPath.getPath()+File.separator+files[i].getName();
//打开需压缩文件作为文件输入流
FileInputStream fin=new FileInputStream(filename); //filename是文件全路径
TarArchiveEntry tarEn=new TarArchiveEntry(files[i]); //此处必须使用new TarEntry(File file);
tarEn.setName(files[i].getName()); //此处需重置名称,默认是带全路径的,否则打包后会带全路径
tout.putArchiveEntry(tarEn);
int num;
while ((num=fin.read(buf, 0, 1024)) != -1)
{
tout.write(buf,0,num);
}
tout.closeArchiveEntry();
fin.close();
}
tout.close();
fout.close(); //建立压缩文件输出流
FileOutputStream gzFile=new FileOutputStream(targzipFilePath+".gz");
//建立gzip压缩输出流
GZIPOutputStream gzout=new GZIPOutputStream(gzFile);
//打开需压缩文件作为文件输入流
FileInputStream tarin=new FileInputStream(targzipFilePath); //targzipFilePath是文件全路径
int len;
while ((len=tarin.read(buf, 0, 1024)) != -1)
{
gzout.write(buf,0,len);
}
gzout.close();
gzFile.close();
tarin.close(); File f = new File(targzipFilePath);
f.deleteOnExit();
}catch(FileNotFoundException e)
{
System.out.println(e);
}catch(IOException e)
{
System.out.println(e);
}
}
java tar.gz文件生成的更多相关文章
- 使用Java API进行tar.gz文件及文件夹压缩解压缩
在java(JDK)中我们可以使用ZipOutputStream去创建zip压缩文件,(参考我之前写的文章 使用java API进行zip递归压缩文件夹以及解压 ),也可以使用GZIPOutputSt ...
- tar.gz文件命名和压缩解压方法
tar.gz文件命名 tar这是文件打成一个包,无压缩; gz同gzip标记的包.tar文件压缩; 所以它成为一个.tar.gz档 压缩 # tar cvfz backup.tar.gz /xxx/ ...
- 解压.zip,.tar.gz文件到指定目录,重命名文件
1.解压文件到指定目录 /** * 解压文件到指定目录 * zipFile:要解压的文件 * descDir:解压到哪个文件 * */ @SuppressWarnings("rawtypes ...
- tar.gz文件命名及压缩解压方法
tar.gz文件命名 tar是把文件打成一个包,并不压缩; gz是用gzip把打成包的.tar文件压缩; 所以成了一个.tar.gz的文件 压缩 # tar cvfz backup.tar.gz /x ...
- linux commands - 一次性解压多个tar.gz文件
tar -zxvf list所有tar.gz文件,然后利用xargs将其作为参数传给tar命令.-n 1表示每次传一个参数. xargs: https://www.cnblogs.com/wangqi ...
- windows下python的tar.gz文件安装
windows下下载了django,PIL,web.py发现都是tar.gz格式的文件,网上查找也非常系统的方法,总结一下其他大神的方法,归纳于此. 首先下载tar.gz文件,比如web.py,下载后 ...
- [Linux] 解压tar.gz文件,解压部分文件
遇到数据库无法查找问题原因,只能找日志,查找日志的时候发现老的日志都被压缩了,只能尝试解压了 数据量比较大,只能在生产解压了,再进行查找 文件名为*.tar.gz,自己博客以前记录过解压方法: h ...
- 解压tar.gz文件报错gzip: stdin: not in gzip format解决方法
解压tar.gz文件报错gzip: stdin: not in gzip format解决方法 在解压tar.gz文件的时候报错 1 2 3 4 5 [Sun@localhost Downloads] ...
- 把.zip文件转化为.tar.gz文件
工作中正好用到上传tar.gz文件,没有现成的转换工具,就写了方法转换 #encoding: utf-8import osimport tarfileimport zipfileimport osim ...
随机推荐
- Artech的MVC4框架学习——第七章Action的执行
概况:Action的执行不仅包含action方法的执行,还包含相关筛选器的执行. 第一基于线程池的请求,http请求称谓工作线程(p321),基于线程池优势:工作线程重用和工作线程数量的限制. 第二两 ...
- centos6上使用xfs文件系统
ext4目前也还没有真的支持16TB以上的单分区空间,由于工具的限制,只能创建最大为16T的单分区决定直接用xfs 安装xfs [root@ ~]$ yum install kmod-xfs xfsp ...
- C语言位操作--判断整数的符号
关于衡量计算操作的方法: 当为算法统计操作的数量的时候,所有的C运算符被认为是一样的操作.中间过程不被写入随机存储器(RAM)而不被计算,当然,这种操作数的计算方法,只是作为那些接近机器指令和CPU运 ...
- Windows Server 2008 R2之二从介质安装 AD DS
可以使用 Ntdsutil.exe 为在域中创建的其他域控制器创建安装介质.通过从介质安装,可以最大程度地减少网络上目录数据的复制.有利于在远程站点中更高效地安装其他域控制器. 实验环境: 在Wind ...
- vue之单表输入绑定
vue的核心:声明式的指令和数据的双向绑定. 那么声明式的指令,已经给大家介绍完了.接下来我们来研究一下什么是数据的双向绑定? 另外,大家一定要知道vue的设计模式:MVVM M是Model的简写,V ...
- Redis的启动过程
本文主要介绍Redis启动加载过程,总体上可以分为如下几步: 1. 初始化全局服务器配置 2. 加载配置文件(如果指定了配置文件,否则使用默认配置) 3. 初始化服务器 4. 加载数据库 5. 网络监 ...
- 一套准确率高且效率高的分词、词性标注工具-thulac
软件简介 THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能.THU ...
- python3学习笔记(8)_sorted
# python学习笔记 2017/07/13 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #python 内置sorted()函数 可以对list进 ...
- python3.5 安装python3-tk
https://blog.csdn.net/qq_18293213/article/details/74483516 在python3.5下安装好matplotlib后,准备显示一张图片测试一下,但是 ...
- css3的一个小demo(箭头hover变化)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...