文件流高级-压缩文件和解压缩
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("解压成功!");
}
}
}
}
}
}