1
using
System;
2
using
System.Collections.Generic;
3
using
System.Text;
4
using
System.IO;
5
using
ICSharpCode.SharpZipLib;
6
using
ICSharpCode.SharpZipLib.Zip;
7
using
ICSharpCode.SharpZipLib.Checksums;
8![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
9
/*
10
* 解压缩
11
* 该程序压缩和解压配合才能使用
12
* 普通用 Winrar 压缩的文件该解压不能通过
13
* Modify By HJ 2007-10-25
14
*/
15
namespace
ZipApplication
16
{
17
/// <summary>
18
/// 压缩类
19
/// </summary>
20
public class ZipClass
21
{
22
/// <summary>
23
/// 递归压缩文件夹方法
24
/// </summary>
25
/// <param name="FolderToZip"></param>
26
/// <param name="s"></param>
27
/// <param name="ParentFolderName"></param>
28
private static bool ZipFileDictory(string FolderToZip, ZipOutputStream s, string ParentFolderName)
29
{
30
bool res = true;
31
string[] folders, filenames;
32
ZipEntry entry = null;
33
FileStream fs = null;
34
Crc32 crc = new Crc32();
35![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
36
try
37
{
38![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
39
//创建当前文件夹
40
entry = new ZipEntry(Path.Combine(ParentFolderName, Path.GetFileName(FolderToZip) + "/")); //加上 “/” 才会当成是文件夹创建
41
s.PutNextEntry(entry);
42
s.Flush();
43![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
44![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
45
//先压缩文件,再递归压缩文件夹
46
filenames = Directory.GetFiles(FolderToZip);
47
foreach (string file in filenames)
48
{
49
//打开压缩文件
50
fs = File.OpenRead(file);
51![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
52
byte[] buffer = new byte[fs.Length];
53
fs.Read(buffer, 0, buffer.Length);
54
entry = new ZipEntry(Path.Combine(ParentFolderName, Path.GetFileName(FolderToZip) + "/" + Path.GetFileName(file)));
55![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
56
entry.DateTime = DateTime.Now;
57
entry.Size = fs.Length;
58
fs.Close();
59![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
60
crc.Reset();
61
crc.Update(buffer);
62![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
63
entry.Crc = crc.Value;
64![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
65
s.PutNextEntry(entry);
66![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
67
s.Write(buffer, 0, buffer.Length);
68
}
69
}
70
catch
71
{
72
res = false;
73
}
74
finally
75
{
76
if (fs != null)
77
{
78
fs.Close();
79
fs = null;
80
}
81
if (entry != null)
82
{
83
entry = null;
84
}
85
GC.Collect();
86
GC.Collect(1);
87
}
88![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
89![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
90
folders = Directory.GetDirectories(FolderToZip);
91
foreach (string folder in folders)
92
{
93
if (!ZipFileDictory(folder, s, Path.Combine(ParentFolderName, Path.GetFileName(FolderToZip))))
94
{
95
return false;
96
}
97
}
98![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
99
return res;
100
}
101![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
102
/// <summary>
103
/// 压缩目录
104
/// </summary>
105
/// <param name="FolderToZip">待压缩的文件夹,全路径格式</param>
106
/// <param name="ZipedFile">压缩后的文件名,全路径格式</param>
107
/// <returns></returns>
108
private static bool ZipFileDictory(string FolderToZip, string ZipedFile, String Password)
109
{
110
bool res;
111
if (!Directory.Exists(FolderToZip))
112
{
113
return false;
114
}
115![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
116
ZipOutputStream s = new ZipOutputStream(File.Create(ZipedFile));
117
s.SetLevel(6);
118
s.Password = Password;
119![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
120
res = ZipFileDictory(FolderToZip, s, "");
121![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
122
s.Finish();
123
s.Close();
124![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
125
return res;
126
}
127![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
128
/// <summary>
129
/// 压缩文件
130
/// </summary>
131
/// <param name="FileToZip">要进行压缩的文件名</param>
132
/// <param name="ZipedFile">压缩后生成的压缩文件名</param>
133
/// <returns></returns>
134
private static bool ZipFile(string FileToZip, string ZipedFile, String Password)
135
{
136
//如果文件没有找到,则报错
137
if (!File.Exists(FileToZip))
138
{
139
throw new System.IO.FileNotFoundException("指定要压缩的文件: " + FileToZip + " 不存在!");
140
}
141
//FileStream fs = null;
142
FileStream ZipFile = null;
143
ZipOutputStream ZipStream = null;
144
ZipEntry ZipEntry = null;
145![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
146
bool res = true;
147
try
148
{
149
ZipFile = File.OpenRead(FileToZip);
150
byte[] buffer = new byte[ZipFile.Length];
151
ZipFile.Read(buffer, 0, buffer.Length);
152
ZipFile.Close();
153![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
154
ZipFile = File.Create(ZipedFile);
155
ZipStream = new ZipOutputStream(ZipFile);
156
ZipStream.Password = Password;
157
ZipEntry = new ZipEntry(Path.GetFileName(FileToZip));
158
ZipStream.PutNextEntry(ZipEntry);
159
ZipStream.SetLevel(6);
160![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
161
ZipStream.Write(buffer, 0, buffer.Length);
162
}
163
catch
164
{
165
res = false;
166
}
167
finally
168
{
169
if (ZipEntry != null)
170
{
171
ZipEntry = null;
172
}
173
if (ZipStream != null)
174
{
175
ZipStream.Finish();
176
ZipStream.Close();
177
}
178
if (ZipFile != null)
179
{
180
ZipFile.Close();
181
ZipFile = null;
182
}
183
GC.Collect();
184
GC.Collect(1);
185
}
186![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
187
return res;
188
}
189![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
190
/// <summary>
191
/// 压缩文件 和 文件夹
192
/// </summary>
193
/// <param name="FileToZip">待压缩的文件或文件夹,全路径格式</param>
194
/// <param name="ZipedFile">压缩后生成的压缩文件名,全路径格式</param>
195
/// <returns></returns>
196
public static bool Zip(String FileToZip, String ZipedFile, String Password)
197
{
198
if (Directory.Exists(FileToZip))
199
{
200
return ZipFileDictory(FileToZip, ZipedFile, Password);
201
}
202
else if (File.Exists(FileToZip))
203
{
204
return ZipFile(FileToZip, ZipedFile, Password);
205
}
206
else
207
{
208
return false;
209
}
210
}
211
}
212
/// <summary>
/// 解压类
/// </summary>
public
class
UnZipClass
{
/// <summary>
/// 解压功能(解压压缩文件到指定目录)
/// </summary>
/// <param name="FileToUpZip">待解压的文件</param>
/// <param name="ZipedFolder">指定解压目标目录</param>
public static void UnZip(string FileToUpZip, string ZipedFolder,string Password)
{
if (!File.Exists(FileToUpZip))
{
return;
}
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
if (!Directory.Exists(ZipedFolder))
{
Directory.CreateDirectory(ZipedFolder);
}
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
ZipInputStream s = null;
ZipEntry theEntry = null;
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
string fileName;
FileStream streamWriter = null;
try
{
s = new ZipInputStream(File.OpenRead(FileToUpZip));
s.Password = Password;
while ((theEntry = s.GetNextEntry()) != null)
{
if (theEntry.Name != String.Empty)
{
fileName = Path.Combine(ZipedFolder, theEntry.Name);
///判断文件路径是否是文件夹
if (fileName.EndsWith("/") || fileName.EndsWith("\\"))
{
Directory.CreateDirectory(fileName);
continue;
}
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
streamWriter = File.Create(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;
}
}
}
}
}
finally
{
if (streamWriter != null)
{
streamWriter.Close();
streamWriter = null;
}
if (theEntry != null)
{
theEntry = null;
}
if (s != null)
{
s.Close();
s = null;
}
GC.Collect();
GC.Collect(1);
}
}
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/353c1fa9cd42287d30310af820b5430d.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/6bfb8366602b2effefcf17e2749f1731.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/353c1fa9cd42287d30310af820b5430d.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
27
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
28
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
29
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
30
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
31
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
32
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
33
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
34
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
35
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
36
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
37
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
38
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
39
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
40
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
41
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
42
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
43
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
44
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
45
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
46
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
47
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
48
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
49
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
50
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
51
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
52
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
53
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
54
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
55
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
56
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
57
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
58
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
59
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
60
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
61
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
62
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
63
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
64
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
65
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
66
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
67
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
68
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
69
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
70
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
71
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
72
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
73
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
74
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
75
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
76
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
77
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
78
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
79
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
80
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
81
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
82
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
83
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
84
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
85
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
86
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
87
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
88
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
89
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
90
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
91
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
92
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
93
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
94
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
95
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
96
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
97
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
98
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
99
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
100
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
101
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
102
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
103
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
104
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
105
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
106
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
107
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
108
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
109
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
110
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
111
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
112
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
113
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
114
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
115
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
116
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
117
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
118
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
119
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
120
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
121
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
122
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
123
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
124
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
125
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
126
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
127
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
128
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
129
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
130
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
131
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
132
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
133
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
134
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
135
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
136
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
137
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
138
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
139
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
140
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
141
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
142
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
143
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
144
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
145
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
146
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
147
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
148
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
149
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
150
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
151
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
152
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
153
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
154
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
155
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
156
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
157
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
158
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
159
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
160
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
161
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
162
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
163
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
164
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
165
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
166
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
167
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
168
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
169
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
170
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
171
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
172
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
173
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
174
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
175
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
176
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
177
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
178
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
179
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
180
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
181
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
182
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
183
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
184
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
185
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
186
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
187
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
188
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
189
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
190
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
191
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
192
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
193
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
194
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
195
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
196
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
197
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
198
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
199
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
200
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
201
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
202
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
203
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
204
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
205
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
206
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
207
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
208
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
209
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
210
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
211
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
212
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/353c1fa9cd42287d30310af820b5430d.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bfb8366602b2effefcf17e2749f1731.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/353c1fa9cd42287d30310af820b5430d.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bfb8366602b2effefcf17e2749f1731.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)