用ASP.Net實(shí)現(xiàn)在線壓縮和解壓縮(3)_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

      推薦:Asp.net Ajax--Calendar控件使用
      簡(jiǎn)介 Calendar控件是一個(gè)很簡(jiǎn)單的控件,主要用來(lái)在頁(yè)面中提供日歷的選擇,其實(shí)現(xiàn)在已經(jīng)有很多用javascript寫(xiě)的日歷控件,但是Canlendar日歷控件能夠讓我們更快速地來(lái)實(shí)現(xiàn)這種效果,只需要進(jìn)行

      // ----------------------------------------------
      // 3. ZipClass.cs
      // ----------------------------------------------
      using System;
      using System.IO;
      using ICSharpCode.SharpZipLib.Zip;
      using ICSharpCode.SharpZipLib.GZip;
      using ICSharpCode.SharpZipLib.BZip2;
      using ICSharpCode.SharpZipLib.Checksums;
      using ICSharpCode.SharpZipLib.Zip.Compression;
      using ICSharpCode.SharpZipLib.Zip.Compression.Streams;

      namespace WebZipUnzip
      {
      /// <summary>
      /// 壓縮文件
      /// </summary>
      public class ZipClass
      {
      public void ZipFile(string FileToZip, string ZipedFile ,int CompressionLevel, int BlockSize,string password)
      {
      //如果文件沒(méi)有找到,則報(bào)錯(cuò)
      if (! System.IO.File.Exists(FileToZip))
      {
      throw new System.IO.FileNotFoundException("The specified file " FileToZip " could not be found. Zipping aborderd");
      }

      System.IO.FileStream StreamToZip = new System.IO.FileStream(FileToZip,System.IO.FileMode.Open , System.IO.FileAccess.Read);
      System.IO.FileStream ZipFile = System.IO.File.Create(ZipedFile);
      ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
      ZipEntry ZipEntry = new ZipEntry("ZippedFile");
      ZipStream.PutNextEntry(ZipEntry);
      ZipStream.SetLevel(CompressionLevel);
      byte[] buffer = new byte[BlockSize];
      System.Int32 size =StreamToZip.Read(buffer,0,buffer.Length);
      ZipStream.Write(buffer,0,size);
      try
      {
      while (size < StreamToZip.Length)
      {
      int sizeRead =StreamToZip.Read(buffer,0,buffer.Length);
      ZipStream.Write(buffer,0,sizeRead);
      size = sizeRead;
      }
      }
      catch(System.Exception ex)
      {
      throw ex;
      }
      ZipStream.Finish();
      ZipStream.Close();
      StreamToZip.Close();
      }

      public void ZipFileMain(string[] args)
      {
      //string[] filenames = Directory.GetFiles(args[0]);
      string[] filenames = new string[]{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

      foreach (string file in filenames)
      {
      //打開(kāi)壓縮文件
      FileStream fs = File.OpenRead(file);
      byte[] buffer = new byte[fs.Length];
      fs.Read(buffer, 0, buffer.Length);
      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);

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

      分享:ASP.NET備份恢復(fù)SqlServer數(shù)據(jù)庫(kù)
      備份SqlServer數(shù)據(jù)庫(kù) 核心技術(shù): using System.Data.SqlClient; using System.IO; string SqlStr1 = "Server=(local);DataBase=master;Uid=sa;Pwd=&q

      來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):.Net教程/更新時(shí)間:2008-08-22
      相關(guān).Net教程