千家信息网

有关VS2003压缩代码的常识有哪些

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章给大家介绍有关VS2003压缩代码的常识有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、首先从这里下载0.84版本的VS2003压缩代码及示例码。2、下载下来之后
千家信息网最后更新 2024年11月26日有关VS2003压缩代码的常识有哪些

这篇文章给大家介绍有关VS2003压缩代码的常识有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1、首先从这里下载0.84版本的VS2003压缩代码及示例码。

2、下载下来之后你发现它没有VS2003的解决方案文件,没有关系。你可以自己建立,首先新建一个ZipUnzip的解决方案,然后,将上面经过解压缩之后的所有文件及目录COPY到你的解决方案所在的目录下。

  • 微软员工对于Visual Studio2003代码编辑

  • 几分钟让你了解Visual Studio Boost的配

  • 有力说明Visual Studio调试的相关技巧与

  • 闹心的Visual Studio 2005 SP1的下载安装

  • Visual Studio 2010开发部署64位程序

3、在VS2003解决方案资源管理器(一般是在右上方中部点的位置)中点击显示所有文件按钮,然后可以见到很多"虚"的图标、文件及文件夹等,可以一次选择它们,然后包含进项目中。

4、编译,***使用Release选项,编译完成之后你可以在\bin\Release\看到ZipUnzip.dll的类了。如果你编译时报错,说什么AssemblyKeyFile之类的,你可以使用强命名工具新建一个,也可以将AssemblyInfo.cs中[assembly: AssemblyKeyFile("。。。。。")]改成:[assembly: AssemblyKeyFile("")] (不推荐这样做)。

5、新建一个WEBFORM项目,添加ZipUnzip.dll类的引用,然后添加如下文件及内容:

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 AttachmentUnZip   {  public AttachmentUnZip()  {}  public static void UpZip(string zipFile)  {  string []FileProperties=new string[2];  FileProperties[0]=zipFile;//待解压的文件  FileProperties[1]=zipFile.Substring(0,zipFile.LastIndexOf("\\")+1);//解压后放置的目标目录  UnZipClass UnZc=new UnZipClass();  UnZc.UnZip(FileProperties);  }   }  }   // ---------------------------------------------  // 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   {   ///   /// 解压文件  ///   /// 包含要解压的文件名和要解压到的目录名数组  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)   {   ssize = 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)  {  ssize = 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  }

关于有关VS2003压缩代码的常识有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0