C#文件流进行压缩和解压缩的方法

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

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 文件流
{
 public partial class Form1 : Form
 {
 public Form1()
 {
  InitializeComponent();
 }
 private void button1_Click(object sender, EventArgs e)
 {
  string s = "好好好好好好好好好好好好好好好好好好好好好哈好好好好好啊";
  for (int i = 0; i < 10; i++)
  {
  s += s;
  }
  using (FileStream fs=File.OpenWrite(@"c:\1.txt"))
  {
  using (GZipStream zipStream=new GZipStream(fs,CompressionMode.Compress))
  {
   byte[] bytes = Encoding.UTF8.GetBytes(s);
   zipStream.Write(bytes,0,bytes.Length);
   MessageBox.Show("压缩成功!");  
  }
  }
 }
 private void button2_Click(object sender, EventArgs e)
 {
  using (FileStream fs=File.OpenRead(@"c:\1.txt"))
  {
  using (GZipStream zipStream=new GZipStream(fs,CompressionMode.Decompress))
  {
   using (FileStream fs1=File.OpenWrite(@"c:\upzip.txt"))
   {
   int bytesRead;
   byte[] bytes=new byte[1024];
   while((bytesRead=zipStream.Read(bytes,0,bytes.Length))>0)
   {
    fs1.Write(bytes,0,bytesRead);
   }
   MessageBox.Show("解压成功!");  
   }
  }
  }
 }
 }
}

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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。