乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      文件壓縮類

       悟靜 2011-05-13
      //下面的壓縮文文件代碼我是在網(wǎng)上擇錄下來

      調(diào)用此類之前需要在http://www./OpenSource/SharpZipLib/下載SharpZipLib 然后將ICSharpCode.SharpZipLib.dll 引用一下

      using System;
      using System.Collections.Generic;
      using System.Text;
      using ICSharpCode.SharpZipLib.Checksums;
      using ICSharpCode.SharpZipLib.Zip;
      using ICSharpCode.SharpZipLib.GZip;
      using System.IO;

      namespace WindowsFormsApplication1
      {
          public class ZipClass
          {
              public string cutStr = "";

              //Get all DirectoryInfo
              private void direct(DirectoryInfo di, ref ZipOutputStream s, Crc32 crc)
              {
                  //DirectoryInfo di = new DirectoryInfo(filenames);
                  DirectoryInfo[] dirs = di.GetDirectories("*");
                  //遍歷目錄下面的所有的子目錄
                  foreach (DirectoryInfo dirNext in dirs)
                  {
                      //將該目錄下的所有文件添加到 ZipOutputStream s 壓縮流里面
                      FileInfo[] a = dirNext.GetFiles();
                      this.writeStream(ref s, a, crc);

                      //遞歸調(diào)用直到把所有的目錄遍歷完成
                      direct(dirNext, ref s, crc);
                  }
              }

              private void writeStream(ref ZipOutputStream s, FileInfo[] a, Crc32 crc)
              {
                  foreach (FileInfo fi in a)
                  {
                      //string fifn = fi.FullName;
                      FileStream fs = fi.OpenRead();

                      byte[] buffer = new byte[fs.Length];
                      fs.Read(buffer, 0, buffer.Length);


                      //ZipEntry entry = new ZipEntry(file);   Path.GetFileName(file)
                      string file = fi.FullName;
                      file = file.Replace(cutStr, "");

                      ZipEntry entry = new ZipEntry(file);

                      entry.DateTime = DateTime.Now;

                      // set Size and the crc, because the information
                      // about the size and crc should be stored in the header
                      // if it is not set it is automatically written in the footer.
                      // (in this case size == crc == -1 in the header)
                      // Some ZIP programs have problems with zip files that don't store
                      // the size and crc in the header.
                      entry.Size = fs.Length;
                      fs.Close();

                      crc.Reset();
                      crc.Update(buffer);

                      entry.Crc = crc.Value;

                      s.PutNextEntry(entry);

                      s.Write(buffer, 0, buffer.Length);
                  }
              }

              /// <summary>
              /// 主調(diào)函數(shù)
              /// </summary>
              /// <param name="args">args[0]為你要壓縮的目錄所在的路徑
              /// 例如:D:\\temp\\  (注意temp 后面加 \\ 但是你寫程序的時(shí)候怎么修改都可以)
              /// args[1]為壓縮后的文件名及其路徑
              /// 例如:D:\\temp.zip
              /// </param>
              public void ZipFileMain(string[] args)
              {
                  //string filenames = Directory.GetFiles(args[0]);

                  Crc32 crc = new Crc32();
                  ZipOutputStream s = new ZipOutputStream(File.Create(args[1]));

                  s.SetLevel(6); // 0 - store only to 9 - means best compression

                  DirectoryInfo di = new DirectoryInfo(args[0]);

                  FileInfo[] a = di.GetFiles();

                  cutStr = args[0].Trim();
                  //壓縮這個(gè)目錄下的所有文件
                  writeStream(ref s, a, crc);
                  //壓縮這個(gè)目錄下子目錄及其文件
                  direct(di, ref s, crc);

                  s.Finish();
                  s.Close();
              }
          }

      }

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多