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

发布时间:2022-01-11 16:48:13 作者:柒染
来源:亿速云 阅读:110

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

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

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

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

推荐阅读:
  1. PHP的基本常识有哪些
  2. VS2003版本的常用技巧有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vs2003

上一篇:如何分析Java包的package关键字

下一篇:MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》