zip (ICSharpCode.SharpZipLib.dll文件需要下载)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > zip (ICSharpCode.SharpZipLib.dll文件需要下载)

zip (ICSharpCode.SharpZipLib.dll文件需要下载)

 2015/3/7 22:40:53  嘿嘿v8v  程序员俱乐部  我要评论(0)
  • 摘要:ZipClasszc=newZipClass();zc.ZipDir(@"E:\1\新建文件夹",@"E:\1\新建文件夹.zip",1);//压缩zc.UnZip(@"E:\1\新建文件夹.zip",@"E:\1\2222");//解压cs1classZipClass2{3publicvoidUnZip(stringzipFilePath,stringunZipDir)4{5if(zipFilePath==string.Empty)6{7thrownewException("压缩文件不能为空
  • 标签:文件 下载 ARP
class="brush:csharp;gutter:true;">ZipClass zc=new ZipClass ();
zc.ZipDir(@"E:\1\新建文件夹", @"E:\1\新建文件夹.zip", 1);//压缩
zc.UnZip(@"E:\1\新建文件夹.zip",@"E:\1\2222");//解压

  cs

logs_code_hide('213de7a4-d59f-4152-bb52-6f491f863129',event)" src="/Upload/Images/2015030722/2B1B950FA3DF188F.gif" alt="" />
 1 class ZipClass
 2 {
 3 public void UnZip(string zipFilePath, string unZipDir)
 4 {
 5 if (zipFilePath == string.Empty)
 6 {
 7 throw new Exception("压缩文件不能为空!");
 8 }
 9 if (!File.Exists(zipFilePath))
10 {
11 throw new System.IO.FileNotFoundException("压缩文件不存在!");
12 }
13 //解压文件夹为空时默认与压缩文件同一级目录下,跟压缩文件同名的文件夹 
14 if (unZipDir == string.Empty)
15 unZipDir = zipFilePath.Replace(Path.GetFileName(zipFilePath), Path.GetFileNameWithoutExtension(zipFilePath));
16 if (!unZipDir.EndsWith("//"))
17 unZipDir += "//";
18 if (!Directory.Exists(unZipDir))
19 Directory.CreateDirectory(unZipDir);
20 
21 using (ZipInputStream s = new ZipInputStream(File.OpenRead(zipFilePath)))
22 {
23 
24 ZipEntry theEntry;
25 while ((theEntry = s.GetNextEntry()) != null)
26 {
27 string directoryName = Path.GetDirectoryName(theEntry.Name);
28 string fileName = Path.GetFileName(theEntry.Name);
29 if (directoryName.Length > 0)
30 {
31 Directory.CreateDirectory(unZipDir + directoryName);
32 }
33 if (!directoryName.EndsWith("//"))
34 directoryName += "//";
35 if (fileName != String.Empty)
36 {
37 using (FileStream streamWriter = File.Create(unZipDir + theEntry.Name))
38 {
39 
40 int size = 2048;
41 byte[] data = new byte[2048];
42 while (true)
43 {
44 size = s.Read(data, 0, data.Length);
45 if (size > 0)
46 {
47 streamWriter.Write(data, 0, size);
48 }
49 else
50 {
51 break;
52 }
53 }
54 }
55 }
56 }
57 }
58 }
59 
60  
61 
62 public static void ZipDir(string sDir, string sZip, ZipOutputStream s)
63 {
64 string[] filenames = Directory.GetFiles(sDir);
65 string[] dirnames = Directory.GetDirectories(sDir);
66 Crc32 crc = new Crc32();
67 if (s == null)
68 {
69 s = new ZipOutputStream(File.Create(sZip));
70 s.SetLevel(6); // 0 - store only to 9 - means best compression
71 }
72 
73 
74 foreach (string file in filenames)
75 fileZipInStream(file, s);
76 
77 foreach (string dir in dirnames)
78 ZipDir(dir, "", s);
79 if (sZip != "")
80 {
81 s.Finish();
82 s.Close();
83 
84 FileInfo fInfo = new FileInfo(sZip);
85 long size = fInfo.Length;
86 //Log.WriteLogD("----------------" + size.ToString());
87 if (size < 100) 
88 File.Delete(sZip);
89 }
90 }
91 
92 }
View Code

 

发表评论
用户名: 匿名