跳至正文

gz格式文件怎么打开(gz格式的文件怎么打开)

.gz文件怎么打开

.gz文件怎么打开

这是一种压缩格式,很多在UNIX下使用的,你可以使用好压hapzip在windows下进行解压.

怎么打开.gz文件

怎么打开.gz文件

WinRAR 解压缩

linux 怎么解压.gz文件

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打开,不过安装后要在工具-选项里设置要解压的文件类型.