代码如下:
static void Main(string[] args) { //1.获取从文件中读取的文本(假如文字如下) const string input = "测试文字:你好"; //2.压缩 var compressResult = GZip.Compress(input); //2.1 显示压缩结果 Console.WriteLine(compressResult); //3.解压 var decompressResult = GZip.Decompress(compressResult); //3.1 显示解压结果 Console.WriteLine(decompressResult); Console.Read(); }
一个助手类封装 GZip.cs
public class GZip { /// <summary> /// 压缩 /// </summary> /// <param name="text">文本</param> public static string Compress(string text) { var buffer = Encoding.UTF8.GetBytes(text); return Convert.ToBase64String(Compress(buffer)); } /// <summary> /// 解压缩 /// </summary> /// <param name="text">文本</param> public static string Decompress(string text) { var buffer = Convert.FromBase64String(text); using (var ms = new MemoryStream(buffer)) { using (var zip = new GZipStream(ms, CompressionMode.Decompress)) { using (var reader = new StreamReader(zip)) { return reader.ReadToEnd(); } } } } /// <summary> /// 压缩 /// </summary> /// <param name="buffer">字节流</param> public static byte[] Compress(byte[] buffer) { if (buffer == null) return null; using (var ms = new MemoryStream()) { using (var zip = new GZipStream(ms, CompressionMode.Compress, true)) { zip.Write(buffer, 0, buffer.Length); } return ms.ToArray(); } } }
可以看到,Compress() 和 Decompress() 就使用了流进行操作。
结果:
分别搜索以下四种问题
1、如何学好C#,或者《ASP.NET 从入门到精通》
2、字符串 写入文件 c#
3、文件压缩 c#
4、文件下载 c#
简单说来就是请放弃coding
能具体点吗。。。。