命名空间:

System.IO.Compression

说明:

此类表示 GZip 数据格式,它使用无损压缩和解压缩文件的行业标准算法。这种格式包括一个检测数据损坏的循环冗余校验值。GZip 数据格式使用的算法与 DeflateStream 类的算法相同,但它可以扩展以使用其他压缩格式。这种格式可以通过不涉及专利使用权的方式轻松实现。gzip 的格式可以从 RFC 1952“GZIP file format specification 4.3(GZIP 文件格式规范 4.3)GZIP file format specification 4.3(GZIP 文件格式规范 4.3)”中获得。此类不能用于压缩大于 4 GB 的文件。构造函数:

public GZipStream(Stream stream,CompressionMode mode)
//使用指定的流和 CompressionMode 值初始化 GZipStream 类的新实例。

public GZipStream(Stream stream,CompressionMode mode,bool leaveOpen)
//使用指定的流和CompressionMode值以及一个指定是否将流保留为打开状态的值来初始化GZipStream类的新实例。

stream 要压缩或解压缩的流。
mode CompressionMode值之一,表示要采取的操作;
leaveOpen true将流保留为打开状态,否则为false。

示例:

using System;
using System.IO;
using System.IO.Compression; /// <summary>
/// Summary description for Compress
/// </summary>
public class Compress
{
public Compress()
{
//
// TODO: Add constructor logic here
//
} /// <summary>
/// 压缩,返回字符串
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public static string CompressObject(string param)
{
string compressString = "";
MemoryStream mstream = new MemoryStream();
GZipStream cstream = new GZipStream(mstream, CompressionMode.Compress, true);
StreamWriter bwriter = new StreamWriter(cstream);
bwriter.Write(param);
//BinaryWriter bwriter = new BinaryWriter(cstream);
//bwriter.Write(Encoding.UTF8.GetBytes(param));
bwriter.Close();
cstream.Close();
compressString = Convert.ToBase64String(mstream.ToArray());
mstream.Close();
return compressString;
} /// <summary>
/// 解压缩字符串
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public static string DepressObject(string param)
{
string commonString = "";
byte[] data = Convert.FromBase64String(param) ;
MemoryStream mstream = new MemoryStream(data);
GZipStream cstream = new GZipStream(mstream, CompressionMode.Decompress);
StreamReader reader = new StreamReader(cstream);
commonString = reader.ReadToEnd();
mstream.Close();
cstream.Close();
reader.Close();
return commonString;
}
}

示例2:

using System.IO;
using System.IO.Compression; /// <summary>
/// Summary description for Cop
/// </summary>
public class Cop
{
public Cop()
{
//
// TODO: Add constructor logic here
//
}
/// <summary>
/// 压缩文件
/// </summary>
/// <param name="fileName">文件名(全路径)</param>
/// <param name="data">需要压缩的字符串</param>
public void CompressFile(string fileName, string data)
{
FileStream fstream = new FileStream(fileName, FileMode.Create, FileAccess.Write);
GZipStream gstream = new GZipStream(fstream, CompressionMode.Compress);
StreamWriter swriter = new StreamWriter(gstream);
swriter.Write(data);
swriter.Close();
gstream.Close();
fstream.Close();
}
/// <summary>
/// 解压缩
/// </summary>
/// <param name="fileName">文件名(全路径)</param>
/// <returns></returns>
public string DecompressFile(string fileName)
{
string cstring="";
FileStream fstream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
GZipStream gstream = new GZipStream(fstream, CompressionMode.Decompress);
StreamReader reader = new StreamReader(gstream);
cstring=reader.ReadToEnd();
reader.Close();
gstream.Close();
fstream.Close();
return cstring;
}
}

GZipStream的更多相关文章

  1. GZipStream 压缩和解压

    GZipSteam: GZip 数据格式,它使用无损压缩和解压缩文件的行业标准算法 类 GZipStream有两种模式:CompressionMode.Compress和CompressionMode ...

  2. 使用.Net自带的GZipStream进行流压缩与解压

    using System.IO; using System.IO.Compression; using System.Text; namespace CS.Utility { /// <summ ...

  3. .net学习之集合、foreach原理、Hashtable、Path类、File类、Directory类、文件流FileStream类、压缩流GZipStream、拷贝大文件、序列化和反序列化

    1.集合(1)ArrayList内部存储数据的是一个object数组,创建这个类的对象的时候,这个对象里的数组的长度为0(2)调用Add方法加元素的时候,如果第一次增加元神,就会将数组的长度变为4往里 ...

  4. .net 利用 GZipStream 压缩和解压缩

    1.GZipStream 类 此类在 .NET Framework 2.0 版中是新增的. 提供用于压缩和解压缩流的方法和属性 2.压缩byte[] /// <summary> /// 压 ...

  5. 压缩、解压缩流GZipStream

    如果要在压缩过程中检查错误或要与其他操作系统所用程序共享压缩数据,则要是用GZipStream类.GZipStream类包含是用GZip数据格式进行压缩和解压缩文件的方法,该类不能用于解压缩大于4GB ...

  6. C# -- 文件的压缩与解压(GZipStream)

    文件的压缩与解压 需引入 System.IO.Compression; 1.C#代码(入门案例) Console.WriteLine("压缩文件..............."); ...

  7. GZipStream 压缩与解压数据

    简介:此类表示 GZip 数据格式,它使用无损压缩和解压缩文件的行业标准算法.这种格式包括一个检测数据损坏的循环冗余校验值.GZip 数据格式使用的算法与 DeflateStream 类的算法相同,但 ...

  8. 使用GZipStream压缩和解压文件

    最近做了一个用.NET里的GZipStream压缩解压缩gzip文件的小程序. GZipStream在System.IO.Compression底下,使用起来也很简单.虽然GZipStream是Str ...

  9. [转][C#]压缩解压缩类 GZipStream

    本文来自:https://msdn.microsoft.com/zh-cn/library/system.io.compression.gzipstream(v=vs.100).aspx using ...

  10. XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)

    XML序列化   #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...

随机推荐

  1. Solidworks如何添加齿轮 运动副

    建立下面的齿轮装配关系(注意装配体不要先拖入齿轮,因为我们第一个齿轮是要手动让他转的,所以不能固定)   分别在两个齿轮中绘制两条直线,一个从圆心到齿顶圆,一个从圆心到齿根圆(在零件中绘图完成之后要退 ...

  2. liunx系统安装tomcat的方法

    安装tomcat前需要先安装jdk,安装jdk的方法参考我的上一篇文章:liunx系统安装jdk的方法 1.下载tomcat 下载地址:http://tomcat.apache.org/downloa ...

  3. java编写Loadrunner脚本

    web.set_max_html_param_len("1000000"); lr.start_transaction("red_envelop"); web. ...

  4. 【DB2】不同编码格式下的汉字所占字节

    UTF-8 (8-bit Unicode Transformation Format) 是一种针对Unicode的可变长度字符编码,又称万国码,它包含全世界所有国家需要用到的字符,是国际编码,通用性强 ...

  5. Image Based Lighting In UE3

    "IBL"全称为"Image-based Lighint",是一种伪装全局光照的方法.使用该方法可以获得较好的视觉效果并且可以达到实时渲染的目的. 实现的方法之 ...

  6. 【Shiro】Apache Shiro架构之权限认证(Authorization)

    Shiro系列文章: [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shir ...

  7. Jekins部署.net站点

    前提 1.你需要一台windows服务 可以装vs的且有重启电脑权限的(具体vs版本根据你的团队决定) 2.下载jekins 安装包 地址:https://jenkins.io/download/   ...

  8. postman--- form-data、x-www-form-urlencoded、raw、binary分别如何设置

    转自:http://blog.csdn.net/wangjun5159/article/details/47781443 1.form-data:  就是http请求中的multipart/form- ...

  9. XMind--用他来理清自己的思路

    背景 一图胜千言,多年以前阅读了<图谋职场>后,深刻体会了这一点.工作学习,有效利用各种图,事半功倍. 简介 XMIND不仅可以绘制思维导图,还能绘制鱼骨图.二维图.树形图.逻辑图.组织结 ...

  10. python-创建一个登录判断的函数

    方法一def account_login(): password = input('Password:') if password == '12345': print('Login success!' ...