.gz文件怎么打开
这是一种压缩格式,很多在UNIX下使用的,你可以使用好压hapzip在windows下进行解压.
怎么打开.gz文件
WinRAR 解压缩
linux 怎么解压.gz文件
gzip -d xxx.gz 或者: gunzip xxx.gz
怎么用perl打开/处理.gz压缩文件
最近想使用perl 对文件进行压缩,但是百度了好久,方法N多,但是都只言片语。这里总结几个自己搜索到的结果。
主要有两种方法:
1、调用系统的解压缩命令
在linux 下调用tar 命令的举例如下:
tar_name = “tar_example”.”.tar.gz”;
$cmd = “tar -cvfz $tar_name test1.pl test2.pl”;
system($cmd);
或者
tar xvfz $_` for @ARGV;
使用PERL直接读取压缩文件 use pipe
.gz格式文件
open(FIN,”gzip -dc $infilename|”) or die (“can not open $infilename\n”);
.tgz(.tar.gz)格式文件
open(FIN,”tar -xf $infilename -o|”) or die (“can not open $infilename\n”);
7zip格式文件
open(FIN,”7za e -so $infilename|”) or die (“can not open $infilename\n”);
2、使用perl 提供的解压缩模块
但是由于操作系统OS各异,实现起来还是有区别的。由于不同操作系统支持以及安装的模块包不同,所以需要区别对待。
目前知道的模块有Archive::Tar、Compress::Zlib、Archive::Zip、IO::Compress::Gzip、PerlIO::gzip
关于各模块的使用帮助可以参与好似有命令perldoc <模块名> 进行查询
如果为了可移植性,可以用Archive::Tar处理tgz文件,用IO::Zlib处理gz文件。
由于Archive::Tar需要把整个包读入内存,资源消耗大且很慢,只能用于较小的tgz文件。
目前我的程序是在windows下面运行的。
最后我的做法是,
(1)用Archive::Tar处理.tar, .tar.gz, .tgz文件。
(2)用Compress::Zlib处理.gz文件。
(3)用Archive::Zip处理.zip文件.
linux 下使用
IO::Compress::Gzip,但是这个模块有个小问题 它不能把多个文件同时压缩在一个文件里面 并且压缩前和压缩后的文件名得相同。
Archive::Tar; 的使用例子:
#!/usr/bin/perl
use Archive::Tar;
my @files = <*>;
my $target = ‘my.tgz’;
my $tar = Archive::Tar->new();
$tar->add_files(@files);
$tar->write($target, COMPRESS_GZIP);
Archive::Zip的使用例子:
#!/usr/bin/perl
use strict;
use warnings;
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
my $zip = Archive::Zip->new();
$zip->addFile(“/home/admin/simple.pl”,”simples.pl”);
$zip->addTree(“/home/admin”,”admins”);
unless ( $zip->writeToFileNamed(‘/usr/zip.zip’) == AZ_OK )
{
print “失败!\n”;
}
else
{
print “成功!\n”;
}
权限不够的话,可以安装到自己家目录下,比如使用Local::lib 安装
用PerlIO包的用法举例:
1)在*.pl前加上
use lib “/libPath”;
use PerlIO::gzip;
2)在用的时候:
open FI, “<:gzip", "$fi";
open FO, “>:gzip”, “$fo”;
3. 用 File::Package;
#!/usr/bin/perl -w
use strict;
use File::Package;
my $uut=’Tie::Gzip’;
my $fp=’File::Package’;
$fp->load_package($uut);
tie *GZIP,’Tie::Gzip’;
my $gzip=\*GZIP;
open($gzip,”> test.gz”);
while(my $line=<$gzip>){
chomp $line;
print”$line\n”;
}
close $gzip;
tie *OUT,’Tie::Gzip’;
my $out=\*OUT;
open($out,”> test.gz”);
print $out “I want to know more!\n”
close $out;
如何解压.tar.gz gzip gz 类型文档
java解压缩.gz .zip .tar.gz等格式的压缩包方法总结
1、.gz文件是linux下常见的压缩格式。使用 java.util.zip.GZIPInputStream即可,压缩是 java.util.zip.GZIPOutputStream
1 public static void unGzipFile(String sourcedir) {
2 String ouputfile = “”;
3 try {
4 //建立gzip压缩文件输入流
5 FileInputStream fin = new FileInputStream(sourcedir);
6 //建立gzip解压工作流
7 GZIPInputStream gzin = new GZIPInputStream(fin);
8 //建立解压文件输出流
9 ouputfile = sourcedir.substring(0,sourcedir.lastIndexOf(‘.’));
10 ouputfile = ouputfile.substring(0,ouputfile.lastIndexOf(‘.’));
11 FileOutputStream fout = new FileOutputStream(ouputfile);
12
13 int num;
14 byte[] buf=new byte[1024];
15
16 while ((num = gzin.read(buf,0,buf.length)) != -1)
17 {
18 fout.write(buf,0,num);
19 }
20
21 gzin.close();
22 fout.close();
23 fin.close();
24 } catch (Exception ex){
25 System.err.println(ex.toString());
26 }
27 return;
28 }
2、zip文件,使用java.util.zip.ZipEntry 和 java.util.zip.ZipFile
1 /**
2 * 解压缩zipFile
3 * @param file 要解压的zip文件对象
4 * @param outputDir 要解压到某个指定的目录下
5 * @throws IOException
6 */
7 public static void unZip(File file,String outputDir) throws IOException {
8 ZipFile zipFile = null;
9
10 try {
11 Charset CP866 = Charset.forName(“CP866”); //specifying alternative (non UTF-8) charset
12 //ZipFile zipFile = new ZipFile(zipArchive, CP866);
13 zipFile = new ZipFile(file, CP866);
14 createDirectory(outputDir,null);//创建输出目录
15
16 Enumeration enums = zipFile.entries();
17 while(enums.hasMoreElements()){
18
19 ZipEntry entry = (ZipEntry) enums.nextElement();
20 System.out.println(“解压.” + entry.getName());
21
22 if(entry.isDirectory()){//是目录
23 createDirectory(outputDir,entry.getName());//创建空目录
24 }else{//是文件
25 File tmpFile = new File(outputDir + “/” + entry.getName());
26 createDirectory(tmpFile.getParent() + “/”,null);//创建输出目录
27
28 InputStream in = null;
29 OutputStream out = null;
30 try{
31 in = zipFile.getInputStream(entry);;
32 out = new FileOutputStream(tmpFile);
33 int length = 0;
34
35 byte[] b = new byte[2048];
36 while((length = in.read(b)) != -1){
37 out.write(b, 0, length);
38 }
39
40 }catch(IOException ex){
41 throw ex;
42 }finally{
43 if(in!=null)
44 in.close();
45 if(out!=null)
46 out.close();
47 }
48 }
49 }
50
51 } catch (IOException e) {
52 throw new IOException(“解压缩文件出现异常”,e);
53 } finally{
54 try{
55 if(zipFile != null){
56 zipFile.close();
57 }
58 }catch(IOException ex){
59 throw new IOException(“关闭zipFile出现异常”,ex);
60 }
61 }
62 }
63
64 /**
65 * 构建目录
66 * @param outputDir
67 * @param subDir
68 */
69 public static void createDirectory(String outputDir,String subDir){
70 File file = new File(outputDir);
71 if(!(subDir == null || subDir.trim().equals(“”))){//子目录不为空
72 file = new File(outputDir + “/” + subDir);
73 }
74 if(!file.exists()){
75 if(!file.getParentFile().exists())
76 file.getParentFile().mkdirs();
77 file.mkdirs();
78 }
79 }
3、.tar.gz文件可以看做先用tar打包,再使用gz进行压缩。
使用org.apache.tools.tar.TarEntry; org.apache.tools.tar.TarInputStream 和 org.apache.tools.tar.TarOutputStream
1 //——————————————————————————————————
2 /**
3 * 解压tar.gz 文件
4 * @param file 要解压的tar.gz文件对象
5 * @param outputDir 要解压到某个指定的目录下
6 * @throws IOException
7 */
8 public static void unTarGz(File file,String outputDir) throws IOException{
9 TarInputStream tarIn = null;
10 try{
11 tarIn = new TarInputStream(new GZIPInputStream(
12 new BufferedInputStream(new FileInputStream(file))),
13 1024 * 2);
14
15 createDirectory(outputDir,null);//创建输出目录
16
17 TarEntry entry = null;
18 while( (entry = tarIn.getNextEntry()) != null ){
19
20 if(entry.isDirectory()){//是目录
21 entry.getName();
22 createDirectory(outputDir,entry.getName());//创建空目录
23 }else{//是文件
24 File tmpFile = new File(outputDir + “/” + entry.getName());
25 createDirectory(tmpFile.getParent() + “/”,null);//创建输出目录
26 OutputStream out = null;
27 try{
28 out = new FileOutputStream(tmpFile);
29 int length = 0;
30
31 byte[] b = new byte[2048];
32
33 while((length = tarIn.read(b)) != -1){
34 out.write(b, 0, length);
35 }
36
37 }catch(IOException ex){
38 throw ex;
39 }finally{
40
41 if(out!=null)
42 out.close();
43 }
44 }
45 }
46 }catch(IOException ex){
47 throw new IOException(“解压归档文件出现异常”,ex);
48 } finally{
49 try{
50 if(tarIn != null){
51 tarIn.close();
52 }
53 }catch(IOException ex){
54 throw new IOException(“关闭tarFile出现异常”,ex);
55 }
56 }
57 }
使用到的包头有:
1 import java.io.BufferedInputStream;
2 import java.io.File;
3 import java.io.FileInputStream;
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.io.OutputStream;
8
9 import java.nio.charset.Charset;
10 import java.util.Enumeration;
11 import java.util.zip.GZIPInputStream;
12 import java.util.zip.ZipEntry;
13 import java.util.zip.ZipFile;
14
15 import org.apache.tools.tar.TarEntry;
16 import org.apache.tools.tar.TarInputStream;
17 import org.apache.tools.tar.TarOutputStream;
如何打开csv.gz文件
先用压缩软件 解压到文件夹,打开新解压的文件夹,就变成 .csv格式了,直接用EXCEL 或者WPS 打开就可以了
C#如何解压gz文件
//zipfilename是.gz所在路径,unzipfilename是解压文件的文件名
private void UnGzipFile(string zipfilename, string unzipfilename)
{
string dir = “”;
//解压文件夹为空时默认与压缩文件同一级目录下,跟压缩文件同名的文件夹
if (dir == “”)
dir = zipfilename.Replace(Path.GetFileName(zipfilename), Path.GetFileNameWithoutExtension(zipfilename));
if (!dir.EndsWith(“//”))
dir += “//”;
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
//创建压缩文件的输入流实例
using (GZipInputStream zipFile = new GZipInputStream(File.OpenRead(zipfilename)))
{
//创建目标文件的流
using (FileStream destFile = File.Open(dir+ unzipfilename, FileMode.Create))
{
int buffersize = 2048;//缓冲区的尺寸,一般是2048的倍数
byte[] FileData = new byte[buffersize];//创建缓冲数据
while (buffersize > 0)//一直读取到文件末尾
{
buffersize = zipFile.Read(FileData, 0, buffersize);//读取压缩文件数据
destFile.Write(FileData, 0, buffersize);//写入目标文件
}
}
}
}
windows8怎么解压tgz
安装7-ZIP以后,直接在你想要打包的文件上点右键菜单(注意不要直接打包文件夹,而是打开文件夹后,选中全部文件,要不LUM下解压后,就是显示的文件夹名称,而不是单个文件)在点压缩会有一个7-ZIP的子菜单栏,类似WinRAR和WinZIP的那种右键菜单。然后选“7-ZIP”->“添加到压缩档案”,在弹出来的窗口里有个“压缩格式”的选项,里面并没有tar.gz格式,没关系,里面有一个Tar格式,第一步就是要先压成tar格式。
成功打包为Tar文件后,你可能会发现这个tar文件包和原来的文件大小一样,也就是说tar本身并没有压缩,而是仅仅把它们打包成一个单独的Tar文件。所以需要做第二步,再在这个tar文件上面点右键,选“7-ZIP”->“添加到压缩包”,这时候弹出的窗口里再看“压缩格式选项”,发现多了两个刚才没有的,其中就包括“GZip”,是的,这一步就是把tar文件继续压缩成GZip。选择“GZip”格式后确定,最后结果就是一个新的tar.gz格式的文件。
用java如何解析gz文件
一个偷懒的做法是调用操作系统命令把gz解压缩,然后再读取.网上也许能找到一些操作gz的java库.
后缀名tar.gz的文件怎么打开
那不是压缩包嘛,用7-zip打开,不过安装后要在工具-选项里设置要解压的文件类型.