Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
(一). 实现功能
对文件及目录的压缩及解压功能
(二). 运行图片示例
(三).代码
1. 压缩类
1/**////<summary>
2///压缩类
3///</summary>4publicclassZipClass
5{
6publicstaticvoidZipFile(stringFileToZip,stringZipedFile,intCompressionLevel,intBlockSize)
7{
8//如果文件没有找到,则报错
9if(!System.IO.File.Exists(FileToZip))
10{
11thrownewSystem.IO.FileNotFoundException("指定要压缩的文件:"+FileToZip+"不存在!");
12}
13
14System.IO.FileStreamStreamToZip=newSystem.IO.FileStream(FileToZip,System.IO.FileMode.Open,System.IO.FileAccess.Read);
15System.IO.FileStreamZipFile=System.IO.File.Create(ZipedFile);
16ZipOutputStreamZipStream=newZipOutputStream(ZipFile);
17ZipEntryZipEntry=newZipEntry("ZippedFile");
18ZipStream.PutNextEntry(ZipEntry);
19ZipStream.SetLevel(CompressionLevel);
20byte[]buffer=newbyte[BlockSize];
21System.Int32size=StreamToZip.Read(buffer,0,buffer.Length);
22ZipStream.Write(buffer,0,size);
23try
24{
25while(size<StreamToZip.Length)
26{
27intsizeRead=StreamToZip.Read(buffer,0,buffer.Length);
28ZipStream.Write(buffer,0,sizeRead);
29size+=sizeRead;
30}
31}
32catch(System.Exceptionex)
33{
34throwex;
35}
36ZipStream.Finish();
37ZipStream.Close();
38StreamToZip.Close();
39}
40
41/**////<summary>
42///压缩目录
43///</summary>
44///<paramname="args">数组(数组[0]:要压缩的目录;数组[1]:压缩的文件名)</param>
45publicstaticvoidZipFileDictory(string[]args)
46{
47string[]filenames=Directory.GetFiles(args[0]);
48
49Crc32crc=newCrc32();
50ZipOutputStreams=newZipOutputStream(File.Create(args[1]));
51s.SetLevel(6);
52foreach(stringfileinfilenames)
53{
54//打开压缩文件
55FileStreamfs=File.OpenRead(file);
56
57byte[]buffer=newbyte[fs.Length];
58fs.Read(buffer,0,buffer.Length);
59ZipEntryentry=newZipEntry(file);
60
61entry.DateTime=DateTime.Now;
62
63entry.Size=fs.Length;
64fs.Close();
65
66crc.Reset();
67crc.Update(buffer);
68
69entry.Crc=crc.Value;
70
71s.PutNextEntry(entry);
72
73s.Write(buffer,0,buffer.Length);
74
75}
76
77s.Finish();
78s.Close();
79}
80
81/**////<summary>
82///压缩文件
83///</summary>
84///<paramname="FileToZip">要进行压缩的文件名</param>
85///<paramname="ZipedFile">压缩后生成的压缩文件名</param>
86publicstaticvoidZipFile(stringFileToZip,stringZipedFile)
87{
88//如果文件没有找到,则报错
89if(!File.Exists(FileToZip))
90{
91thrownewSystem.IO.FileNotFoundException("指定要压缩的文件:"+FileToZip+"不存在!");
92}
93FileStreamfs=File.OpenRead(FileToZip);
94byte[]buffer=newbyte[fs.Length];
95fs.Read(buffer,0,buffer.Length);
96fs.Close();
97
98FileStreamZipFile=File.Create(ZipedFile);
99ZipOutputStreamZipStream=newZipOutputStream(ZipFile);
100ZipEntryZipEntry=newZipEntry("ZippedFile");
101ZipStream.PutNextEntry(ZipEntry);
102ZipStream.SetLevel(6);
103
104ZipStream.Write(buffer,0,buffer.Length);
105ZipStream.Finish();
106ZipStream.Close();
107}
108}
109
110/**////<summary>
111///解压类
112///</summary>113publicclassUnZipClass
114{
115/**////<summary>
116///解压功能(解压压缩文件到指定目录)
117///</summary>
118///<paramname="args">待解压的文件</param>
119///<paramname="args">指定解压目标目录</param>
120publicstaticvoidUnZip(string[]args)
121{
122ZipInputStreams=newZipInputStream(File.OpenRead(@args[0].Trim()));
123ZipEntrytheEntry;
124stringdirectoryName=Path.GetDirectoryName(@args[1].Trim());
125
126if(!Directory.Exists(@args[1].Trim()))
127{
128Directory.CreateDirectory(directoryName);
129}
130while((theEntry=s.GetNextEntry())!=null)
131{
132;
133stringfileName=Path.GetFileName(theEntry.Name);
134
135if(fileName!=String.Empty)
136{
137FileStreamstreamWriter=File.Create(@args[1].Trim()+fileName);
138
139intsize=2048;
140byte[]data=newbyte[2048];
141while(true)
142{
143size=s.Read(data,0,data.Length);
144if(size>0)
145{
146streamWriter.Write(data,0,size);
147}
148else
149{
150break;
151}
152}
153
154streamWriter.Close();
155}
156}
157s.Close();
158}
159
2. 前台页面代码
Global site tag (gtag.js) - Google Analytics
相关推荐
Asp.net2.0实现压缩/解压示例源码 实现在线对文件及目录的压缩及解压功能
原装的英文版Asp.net2.0 入门经典C#篇.避免了翻译后的质量下降
用ASP.NET2.0开发的学校/企业/物业楼宇管理系统(ASP.NET源代码)
基于C#语言的ASP.NET 2.0动态网站开发基础教程,课程列表如下: ASP.NET 2.0动态网站开发基础教程(C#) 第01章 ASP.NET2.0基础 Framework Web Form(共32页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第02章 ...
基于ASP.NET2.0的在线压缩-解压源程序代码,实现实现对文档资源的在线压缩与解压操作,采用VS2005+C#+ASP.NET开发。
《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建...5.理解创建 ASP.NET 2.0页面(ASPX)将要使用的工具--Visual Web Developer Express(VWD)太平洋下载中心为您提供"ASP.NET 2.0 入门经典(第4版)"官方下载。
在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET...
在线考试系统 Asp.net2.0 c# 在线考试系统 Asp.net2.0 c# 在线考试系统 Asp.net2.0 c# 在线考试系统 Asp.net2.0 c# 在线考试系统 Asp.net2.0 c#
内容代码,使用VB.net和C# 两种解释 <br>第1章ASP.NET2.0概述 1 1.1简史 1 1.2ASP.NET2.0的目标 2 1.2.1开发人员的效率 3 1.2.2管理 5 1.2.3性能和可伸缩性 8 1.3ASP.NET2.0的其他新特性 8 ...
通过探索这些项目的设计和代码,读者可快速掌握使用ASP.NET 2.0开发应用程序的技巧,从空白开始创建自己的网站,或在自己开发的网站中重用这些项目提供的功能。本书共分为12章,每章通过一个项目实现一种常见的网站...
只要在Visual Stuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,或是基于ASP.NET 2.0的一些简单Ajax功能的实现。...
《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建动态的、数据...4.浏览一个由 ASP.NET 2.0构建的站点的动态功能 5.理解创建 ASP.NET 2.0页面(ASPX)将要使用的工具--Visual Web Developer Express(VWD)
Using code examples in C#, this invaluable beginner's guide shows you how to program web applications in ASP.NET 2.0 and see dynamic results with minimal effort. Through detailed explanations and ...
ASP.NET2.0实用教程(C#版)书中例子,这是一个PPT的
内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...
内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...
内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...
Asp.net2.0在线压缩_解压示例源码Asp.net2.0在线压缩_解压示例源码
ASP.NET 2.0 C# Access数据库访问类
ASP.NET2.0 c# 获取浏览器,IP,URL,操作系统