首 页  资讯中心 下载中心 资讯教程 最新下载 发布软件 发布文章 网通站 电信站繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:曾子源码软件下载站 -> 网络编程 -> asp.net -> 文章内容 退出登录 用户管理
热门文章
· 常用C,VC,C++书籍下..
· 新概念英语视频教程..
· 常用 JAVA JAVA2 J..
· 《梦幻麻将馆9雀圣争..
· 新东方英语视频教程..
· 常用VB,Visual Basi..
· [组图] After Effect..
· WINDOWS 所有系统文..
· [组图] 让机器运行多..
· 全美经典学习指导系..
相关文章
· 用Administrator权限..
· 用ASP编程控制在IIS..
· 用ASP.Net实现文件的..
· 用ASP.Net实现文件的..
· 用ASP.Net实现文件的..
· 学习使用ASP对象和组..
· Asp.net中创建和使用..
· Asp.net中创建和使用..
· 将图片插入数据库并..
· 将图片插入数据库并..
用ASP.Net实现文件的在线压缩和解压缩(2)
作者: johnsuna     来源:不详  发布时间:2006-6-6 19:03:30  发布人:admin

减小字体 增大字体

     // ---------------------------------------------
  // 2. UnZipClass.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
  {
   public class UnZipClass
   {
   /// <summary>
   /// 解压文件
   /// </summary>
   /// <param name="args">包含要解压的文件名和要解压到的目录名数组</param>
   public void UnZip(string[] args)
   {
   ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]));
   try
   {
   ZipEntry theEntry;
   while ((theEntry = s.GetNextEntry()) != null)
   {
   string directoryName = Path.GetDirectoryName(args[1]);
   string fileName = Path.GetFileName(theEntry.Name);
  
   //生成解压目录
   Directory.CreateDirectory(directoryName);
  
   if (fileName != String.Empty)
   {
   //解压文件到指定的目录
   FileStream streamWriter = File.Create(args[1]+fileName);
  
   int size = 2048;
   byte[] data = new byte[2048];
   while (true)
   {
   size = s.Read(data, 0, data.Length);
   if (size > 0)
   {
   streamWriter.Write(data, 0, size);
   }
   else
   {
   break;
   }
   }
  
   streamWriter.Close();
   }
   }
   s.Close();
   }
   catch(Exception eu)
   {
   throw eu;
   }
   finally
   {
   s.Close();
   }
  
   }//end UnZip
  
   public static bool UnZipFile(string file, string dir)
   {
   try
   {
   if (!Directory.Exists(dir))
   Directory.CreateDirectory(dir);
   string fileFullName = Path.Combine(dir,file);
   ZipInputStream s = new ZipInputStream(File.OpenRead( fileFullName ));
  
   ZipEntry theEntry;
   while ((theEntry = s.GetNextEntry()) != null)
   {
   string directoryName = Path.GetDirectoryName(theEntry.Name);
   string fileName = Path.GetFileName(theEntry.Name);
  
   if (directoryName != String.Empty)
   Directory.CreateDirectory( Path.Combine(dir, directoryName));
  
   if (fileName != String.Empty)
   {
   FileStream streamWriter = File.Create( Path.Combine(dir,theEntry.Name) );
   int size = 2048;
   byte[] data = new byte[2048];
   while (true)
   {
   size = s.Read(data, 0, data.Length);
   if (size > 0)
   {
   streamWriter.Write(data, 0, size);
   }
   else
   {
   break;
   }
   }
  
   streamWriter.Close();
   }
   }
   s.Close();
   return true;
   }
   catch (Exception)
   {
   throw;
   }
   }
  
   }//end UnZipClass
  }  做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [发表评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站信息排名查询
Copyright © 2004-2006 Zasp.Net. All Rights Reserved .