C#文件流進行壓縮和解壓縮

cymt 9年前發布 | 2K 次閱讀 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("解壓成功!");         

                }
            }
        }
    }
}

}</pre>

 本文由用戶 cymt 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!