C#实现解压GZip文件的方法

本文实例讲述了C#实现解压GZip文件的方法。分享给大家供大家参考。具体实现方法如下:

public void ungzip(string path, string decomPath, bool overwrite)
{
  //for overwriting purposes
  if (File.Exists(decomPath))
  {
 if (overwrite)
 {
   File.Delete(decomPath);
 }
 else
 {
   throw new IOException("The decompressed path you specified already exists and cannot be overwritten.");
 }
  }
  //create our file streams
  GZipStream stream = new GZipStream(new FileStream(path, FileMode.Open, FileAccess.ReadWrite), CompressionMode.Decompress);
  FileStream decompressedFile = new FileStream(decomPath, FileMode.OpenOrCreate, FileAccess.Write);
  //data represents a byte from the compressed file
  //it's set through each iteration of the while loop
  int data;
  while ((data = stream.ReadByte()) != -1) //iterates over the data of the compressed file and writes the decompressed data
  {
 decompressedFile.WriteByte((byte)data);
  }
  //close our file streams
  decompressedFile.Close();
  stream.Close();
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • c#调用winrar解压缩文件代码分享

    复制代码 代码如下: using Microsoft.Win32;using System.Diagnostics;压缩string the_rar;RegistryKey the_Reg;object the_Obj;string the_Info;ProcessStartInfo the_StartInfo;Process the_Process;try{the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\S

  • C#中使用WinRAR实现加密压缩及解压缩文件

    本次示例主要实现: 1.压缩文件夹及其下文件 2.压缩文件夹下文件 3.压缩文件夹及其下文件为rar 还是 zip 4.解压缩 5.加密压缩及解加密压缩 ----------- 示例代码如下: protected void Button1_Click(object sender, EventArgs e) { string strtxtPath = "C://freezip//free.txt"; string strzipPath = "C://freezip//free.

  • C#调用Rar文件及获取Rar返回值的方法

    本文实例讲述了C#调用Rar文件及获取Rar返回值的方法.分享给大家供大家参考.具体如下: 该程序适用于C#调用. 所需的Rar.exe可从WinRar官网下载控制台版. 按钮OK点击事件: System.Diagnostics.Process process; private void btnRAR_Click(object sender, EventArgs e) { if (System.IO.File.Exists("Rar.exe")) { try { process = n

  • C#实现Zip压缩目录中所有文件的方法

    本文实例讲述了C#实现Zip压缩目录中所有文件的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.IO; using System.Collections; using System.IO.Compression; using System.Collections.Generic; class FolderZip { private const long BUFFER_SIZE = 20480; static void main(string[

  • C#使用GZipStream解压缩数据文件的方法

    本文实例讲述了C#使用GZipStream解压缩数据文件的方法.分享给大家供大家参考.具体分析如下: GZipStream用于从一个流读取数据写入到另一个流,GZipStream不能写入到其它的资源,比如文件或者内存,只能从流到流. GZipStream使用的一般流程如下: 打开一个现有的文件  打开/创建输出文件  创建GZipStream对象  逐字节读源文件,并把它传递到GZipStream  使用GZipStream写入到输出文件流 String sourcefilename = FIL

  • C#实现rar压缩与解压缩文件的方法

    本文实例讲述了C#实现rar压缩与解压缩文件的方法.分享给大家供大家参考.具体分析如下: 此程序利用 WinRAR 程序对文件进行压缩,命令行语法可参考WinRAR中文帮助. /// 利用 WinRAR 进行压缩 /// </summary> /// <param name="path">将要被压缩的文件夹(绝对路径)</param> /// <param name="rarPath">压缩后的 .rar 的存放目录(

  • C#调用WinRar执行rar、zip压缩的方法

    本文实例讲述了C#调用WinRar执行rar.zip压缩的方法.分享给大家供大家参考.具体如下: 判断系统是否安装了winrar /// <summary> /// 验证WinRar是否安装. /// </summary> /// <returns>true:已安装,false:未安装</returns> private static bool ExistsRar(out String winRarPath) { winRarPath = String.Em

  • C#实现解压GZip文件的方法

    本文实例讲述了C#实现解压GZip文件的方法.分享给大家供大家参考.具体实现方法如下: public void ungzip(string path, string decomPath, bool overwrite) { //for overwriting purposes if (File.Exists(decomPath)) { if (overwrite) { File.Delete(decomPath); } else { throw new IOException("The deco

  • php在线解压ZIP文件的方法

    本文实例讲述了php在线解压ZIP文件的方法.分享给大家供大家参考.具体分析如下: 在PHP的函数库中只找到了个ZLIB的函数还跟压缩有点关系,但是使我失望的是他没能解ZIP的文件,但最后还是让我找到了解决的方法,就是通过PHP的程序执行函数来实现这个功能,因为现在能解ZIP文件的东西实在是太多啦,你要是不信,可以到有下载软件的地方找找看,保准你不会失望的,我的话不会错的. 下面就是该程序的原文件,upload.php代码如下: 复制代码 代码如下: <table border="0&qu

  • python 解压pkl文件的方法

    如下所示: import pickle with open(filename, 'rb') as f: datadict = pickle.load(f, encoding='latin1') f.close() 以上这篇python 解压pkl文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python批量解压zip文件的方法

    这是一个用python写解压大量zip脚本的说明,本人新手一个,希望能对各位有所启发. 首先要注意的,在运行自己的脚本之前一定先备份或者复制出一些样本进行测试,不然出错会很麻烦: 之后我用到的是解压zip文件的扩展包zipfile,可以直接pip安装或者在IDE里安装,需要特别注意的是这个包的文件名解码方式需要我们去修改,先去查看源文件,直接搜索"cp437"(一个编码方式),找到后全部替换为"gbk",即可解决中文显示问题. 代码: import os impor

  • Python实现压缩与解压gzip大文件的方法

    本文实例讲述了Python实现压缩与解压gzip大文件的方法.分享给大家供大家参考,具体如下: #encoding=utf-8 #author: walker #date: 2015-10-26 #summary: 测试gzip压缩/解压文件 import gzip BufSize = 1024*8 def gZipFile(src, dst): fin = open(src, 'rb') fout = gzip.open(dst, 'wb') in2out(fin, fout) def gun

  • Ubuntu解压zip文件乱码的解决方法

    前言 本文介绍的是Ubuntu解压zip文件乱码的解决方法,共有2种方式解决问题,下面话不多说,来一起看看吧 一.通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明. 二.在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936&quo

  • PHP解压ZIP文件到指定文件夹的方法

    本文实例讲述了PHP解压ZIP文件到指定文件夹的方法.分享给大家供大家参考,具体如下: /** * function: 解压zip 格式的文件 * author:friker * date:2015-15-14 * reference:http://php.net/manual/zh/ref.zip.php * all rights reserved:wujiangwei123@126.com */ class Unzip{ public function __construct(){ //in

  • Linux 下解压 rar 文件的方法

    网上下载rar 压缩文件的使用,在linux在我们需要对其进行解压缩,这个时候,我们需要安装 rar相关的文件,来进行解压缩. 1. 下载 我们进入rarlab网站,进行下载 rar for linux x64 2. 使用 tar 命令 解压 (*.tar 用 tar –xvf ) Downloads tar -xvf rarlinux-x64-5.6.0.tar.gz 3. 进入文件夹make (需要 管理员权限) rar cat makefile ######################

  • Win7x64下Mysql5.7.18解压版的安装方法

    相关阅读: 解决Win7 x64安装解压版mysql 5.7.18 winx64出现服务无法启动问题 1.下载安装包 百度云链接 2.解压后放到C:\Program Files\MySQL\mysql5.7.18 3.在文件夹下创建my.ini,内容为: [mysqld] #免密登录 skip-grant-tables bind-address = 0.0.0.0 port = 3306 basedir=C:/Program Files/mysql/mysql5.7.18 datadir=C:/

  • mysql 5.7.21解压版安装配置方法图文教程(win10)

    mysql 5.7.21解压版安装配置方法,供大家参考,具体内容如下 1. 官网下载MYSQL压缩文件. 下载网址 2. 解压文件 直接解压,解压后安装包目录如下:(注意:此时没有data目录和.Ini文件) 3. 将文件放入自己想放的目录,下面是我放的目录 4. 由于解压后没有.ini文件在此目录下新建my.ini文件 .Ini文件内容如下: [mysqld] port = 3306 basedir=C:\Program Files\MYSQL\MySQL Server 5.7.21 data

随机推荐