• 压缩流DeflateStream和GZipStream


    //使用DeflateStream压缩和解压缩文件

    namespace 压缩流1
    {
        class Program
        {
            static void Main(string[] args)
            {
                FileStream fs;
                DeflateStream deflate;
                FileInfo myFile;
                string originalXML = "original.xml";
                string compressedXML = "commpressed";
                string decompressedXML = "decommpressed.xml";
                DataSet ds = new DataSet();

                myFile = new FileInfo(originalXML);
                Console.WriteLine("原文件{0}中包含{1}字节", myFile.Name, myFile.Length.ToString());
                ds.ReadXml(originalXML);
                //创建一个文件
                fs = new FileStream(compressedXML, FileMode.Create, FileAccess.Write);
                //对文件进行压缩
                deflate = new DeflateStream(fs, CompressionMode.Compress);
                //保存XML文件
                ds.WriteXml(deflate);
                //关闭流
                deflate.Close();

                myFile = new FileInfo(compressedXML);
                Console.WriteLine("文件被压缩成{0}字节,存放在{1}中", myFile.Length.ToString(), myFile.Name);
                //创建一个文件
                fs = new FileStream(compressedXML, FileMode.Open, FileAccess.Read);
                //对文件进行解压
                deflate = new DeflateStream(fs, CompressionMode.Decompress);

                ds = new DataSet();
                ds.ReadXml(deflate);
                ds.WriteXml(decompressedXML);

                myFile = new FileInfo(decompressedXML);
                Console.WriteLine("文件被解压成{0}字节,存放在{1}中", myFile.Length.ToString(), myFile.Name);
               

                Console.ReadLine();
            }
        }

    //使用GZipStream压缩和解压缩文件,与上一个基本一样

    using System.IO;
    using System.IO.Compression;
    using System.Data;

    namespace 压缩流2
    {
        class Program
        {
            static void Main(string[] args)
            {
                //GZipStream解压缩文件
                FileStream fs;
                GZipStream gzip;
                FileInfo myFile;
                string originalXML = "original.xml";
                string compressedXML = "originalGZip.gz";
                string decompressedXML = "UnZip.xml";
                DataSet ds = new DataSet();

                myFile = new FileInfo(originalXML);
                Console.WriteLine("原文件{0}中包含{1}字节", myFile.Name, myFile.Length.ToString());
                ds.ReadXml(originalXML);

                //压缩
                fs = new FileStream(compressedXML, FileMode.Create, FileAccess.Write);
                gzip = new GZipStream(fs, CompressionMode.Compress);
                ds.WriteXml(gzip);
                gzip.Close();

                myFile = new FileInfo(compressedXML);
                Console.WriteLine("文件被压缩成{0}字节,存放在{1}中", myFile.Length.ToString(), myFile.Name);

                fs = new FileStream(compressedXML, FileMode.Open, FileAccess.Read);
                gzip = new GZipStream(fs, CompressionMode.Decompress);

                ds = new DataSet();
                ds.ReadXml(gzip);
                ds.WriteXml(decompressedXML);

                myFile = new FileInfo(decompressedXML);
                Console.WriteLine("文件被解压成{0}字节,存放在{1}中", myFile.Length.ToString(), myFile.Name);
                Console.ReadLine();
            }
        }
    }

  • 相关阅读:
    PHP CI分页类带多个参数
    PHP oracle分页
    PHP 防范IP攻击
    PHP 防范CC攻击
    PHP 防范xss攻击
    html input
    弹框样式
    php最快捷的插入数据,3000万仅需5秒
    phpcms 后台分页
    phpcms 用phpexcel导入导出excel
  • 原文地址:https://www.cnblogs.com/zxktxj/p/2438997.html
Copyright © 2020-2023  润新知