- 浏览: 215322 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (109)
- C# (29)
- ASP.NET (30)
- MSSQL (29)
- javascript (9)
- cmd (3)
- ORACLE (4)
- log4j (1)
- window (5)
- FTP (1)
- Shell (1)
- java (1)
- IIS (7)
- html (11)
- SQL (3)
- Jquery (11)
- IE (3)
- 火狐、谷歌 (2)
- wince (2)
- JSON (5)
- List (1)
- Foreach (1)
- SQLhelper (1)
- Ajax (1)
- Firebird (1)
- mysql (7)
- js (2)
- jQuery.autocomplete (1)
- dataTable (1)
- Http (1)
- get (1)
- datetime (1)
- powshell (1)
- URL Protocol (1)
- Office (1)
- Excel (1)
- ASP.NET,算法,秘钥 (1)
- 浏览器 (1)
- Tomcat (1)
最新评论
来源于:http://www.cnblogs.com/zhaozhan/archive/2012/05/28/2520701.html
在.NET可以通过多种方式实现zip的压缩和解压:1、使用System.IO.Packaging;2、使用第三方类库;3、通过 System.IO.Compression 命名空间中新增的ZipArchive、ZipFile等类实现。
一、使用System.IO.Packaging压缩和解压
Package为一个抽象类,可用于将对象组织到定义的物理格式的单个实体中,从而实现可移植性与高效访问。ZIP 文件是Package的主物理格式。 其他Package实现可以使用其他物理格式(如 XML 文档、数据库或 Web 服务。与文件系统类似,在分层组织的文件夹和文件中引用 Package 中包含的项。虽然 Package 是抽象类,但 Package.Open 方法默认使用 ZipPackage 派生类。
System.IO.Packaging在WindowsBase.dll程序集下,使用时需要添加对WindowsBase的引用。
1、将整个文件夹压缩成zip
Code/// <summary>
/// Add a folder along with its subfolders to a Package
/// </summary>
/// <param name="folderName">The folder to add</param>
/// <param name="compressedFileName">The package to create</param>
/// <param name="overrideExisting">Override exsisitng files</param>
/// <returns></returns>
static bool PackageFolder(string folderName, string compressedFileName, bool overrideExisting)
{
if (folderName.EndsWith(@"\"))
folderName = folderName.Remove(folderName.Length - 1);
bool result = false;
if (!Directory.Exists(folderName))
{
return result;
}
if (!overrideExisting && File.Exists(compressedFileName))
{
return result;
}
try
{
using (Package package = Package.Open(compressedFileName, FileMode.Create))
{
var fileList = Directory.EnumerateFiles(folderName, "*", SearchOption.AllDirectories);
foreach (string fileName in fileList)
{
//The path in the package is all of the subfolders after folderName
string pathInPackage;
pathInPackage = Path.GetDirectoryName(fileName).Replace(folderName, string.Empty) + "/" + Path.GetFileName(fileName);
Uri partUriDocument = PackUriHelper.CreatePartUri(new Uri(pathInPackage, UriKind.Relative));
PackagePart packagePartDocument = package.CreatePart(partUriDocument,"", CompressionOption.Maximum);
using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
fileStream.CopyTo(packagePartDocument.GetStream());
}
}
}
result = true;
}
catch (Exception e)
{
throw new Exception("Error zipping folder " + folderName, e);
}
return result;
}
2、将单个文件添加到zip文件中
Code /// <summary>
/// Compress a file into a ZIP archive as the container store
/// </summary>
/// <param name="fileName">The file to compress</param>
/// <param name="compressedFileName">The archive file</param>
/// <param name="overrideExisting">override existing file</param>
/// <returns></returns>
static bool PackageFile(string fileName, string compressedFileName, bool overrideExisting)
{
bool result = false;
if (!File.Exists(fileName))
{
return result;
}
if (!overrideExisting && File.Exists(compressedFileName))
{
return result;
}
try
{
Uri partUriDocument = PackUriHelper.CreatePartUri(new Uri(Path.GetFileName(fileName), UriKind.Relative));
using (Package package = Package.Open(compressedFileName, FileMode.OpenOrCreate))
{
if (package.PartExists(partUriDocument))
{
package.DeletePart(partUriDocument);
}
PackagePart packagePartDocument = package.CreatePart(partUriDocument, "", CompressionOption.Maximum);
using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
fileStream.CopyTo(packagePartDocument.GetStream());
}
}
result = true;
}
catch (Exception e)
{
throw new Exception("Error zipping file " + fileName, e);
}
return result;
} 3、zip文件解压
Code/// <summary>
/// Extract a container Zip. NOTE: container must be created as Open Packaging Conventions (OPC) specification
/// </summary>
/// <param name="folderName">The folder to extract the package to</param>
/// <param name="compressedFileName">The package file</param>
/// <param name="overrideExisting">override existing files</param>
/// <returns></returns>
static bool UncompressFile(string folderName, string compressedFileName, bool overrideExisting)
{
bool result = false;
try
{
if (!File.Exists(compressedFileName))
{
return result;
}
DirectoryInfo directoryInfo = new DirectoryInfo(folderName);
if (!directoryInfo.Exists)
directoryInfo.Create();
using (Package package = Package.Open(compressedFileName, FileMode.Open, FileAccess.Read))
{
foreach (PackagePart packagePart in package.GetParts())
{
ExtractPart(packagePart, folderName, overrideExisting);
}
}
result = true;
}
catch (Exception e)
{
throw new Exception("Error unzipping file " + compressedFileName, e);
}
return result;
}
static void ExtractPart(PackagePart packagePart, string targetDirectory, bool overrideExisting)
{
string stringPart = targetDirectory + HttpUtility.UrlDecode(packagePart.Uri.ToString()).Replace('\\', '/');
if (!Directory.Exists(Path.GetDirectoryName(stringPart)))
Directory.CreateDirectory(Path.GetDirectoryName(stringPart));
if (!overrideExisting && File.Exists(stringPart))
return;
using (FileStream fileStream = new FileStream(stringPart, FileMode.Create))
{
packagePart.GetStream().CopyTo(fileStream);
}
}
使用Package压缩文件会在zip文件自动生成[Content_Type].xml,用来描述zip文件解压支持的文件格式。
Code<?xml version="1.0" encoding="utf-8" ?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="vsixmanifest" ContentType="text/xml" />
<Default Extension="dll" ContentType="application/octet-stream" />
<Default Extension="png" ContentType="application/octet-stream" />
<Default Extension="txt" ContentType="text/plain" />
<Default Extension="pkgdef" ContentType="text/plain" />
</Types> 同样,如果zip文件不包含[Content_Type].xml文件,或者[Content_Type].xml文件不包含所对应扩展名的描述(手动添加的[Content_Type].xml也是可以),将无法解压文件。 二、使用第三方类库 zip的压缩和解压使用比较的有SharpZipLib和DotNetZip。
1、SharpZipLib,也称为“#ziplib”,基于GPL开源,支持Zip,GZip,Tar和BZip2的压缩和解压缩。
支持.NET 1.1,NET 2.0(3.5、4.0).
(1)zip压缩
Codepublic static void Zip(string SrcFile, string DstFile, int BufferSize)
{
FileStream fileStreamIn = new FileStream
(SrcFile, FileMode.Open, FileAccess.Read);
FileStream fileStreamOut = new FileStream
(DstFile, FileMode.Create, FileAccess.Write);
ZipOutputStream zipOutStream = new ZipOutputStream(fileStreamOut);
byte[] buffer = new byte<buffersize />;
ZipEntry entry = new ZipEntry(Path.GetFileName(SrcFile));
zipOutStream.PutNextEntry(entry);
int size;
do
{
size = fileStreamIn.Read(buffer, 0, buffer.Length);
zipOutStream.Write(buffer, 0, size);
} while (size > 0);
zipOutStream.Close();
fileStreamOut.Close();
fileStreamIn.Close();
} (2)解压zipCodepublic static void UnZip(string SrcFile, string DstFile, int BufferSize)
{
FileStream fileStreamIn = new FileStream
(SrcFile, FileMode.Open, FileAccess.Read);
ZipInputStream zipInStream = new ZipInputStream(fileStreamIn);
ZipEntry entry = zipInStream.GetNextEntry();
FileStream fileStreamOut = new FileStream
(DstFile + @"\" + entry.Name, FileMode.Create, FileAccess.Write);
int size;
byte[] buffer = new byte<buffersize />;
do
{
size = zipInStream.Read(buffer, 0, buffer.Length);
fileStreamOut.Write(buffer, 0, size);
} while (size > 0);
zipInStream.Close();
fileStreamOut.Close();
fileStreamIn.Close();
} 2、DotNetLib,是基于”WS-PL”开源,使用比较简单 (1)压缩Codeusing (ZipFile zip = new ZipFile())
{
zip.AddFile("ReadMe.txt");
zip.AddFile("7440-N49th.png");
zip.AddFile("2008_Annual_Report.pdf");
zip.Save("Archive.zip");
} (2)解压Codeprivate void MyExtract()
{
string zipToUnpack = "C1P3SML.zip";
string unpackDirectory = "Extracted Files";
using (ZipFile zip1 = ZipFile.Read(zipToUnpack))
{
// here, we extract every entry, but we could extract conditionally
// based on entry name, size, date, checkbox status, etc.
foreach (ZipEntry e in zip1)
{
e.Extract(unpackDirectory, ExtractExistingFileAction.OverwriteSilently);
}
}
}
三、在.NET 4.5使用ZipArchive、ZipFile等类压缩和解压
Code static void Main(string[] args)
{
string ZipPath = @"c:\users\exampleuser\start.zip";
string ExtractPath = @"c:\users\exampleuser\extract";
string NewFile = @"c:\users\exampleuser\NewFile.txt";
using (ZipArchive Archive = ZipFile.Open(ZipPath, ZipArchiveMode.Update))
{
Archive.CreateEntryFromFile(NewFile, "NewEntry.txt");
Archive.ExtractToDirectory(ExtractPath);
}
}
在.NET可以通过多种方式实现zip的压缩和解压:1、使用System.IO.Packaging;2、使用第三方类库;3、通过 System.IO.Compression 命名空间中新增的ZipArchive、ZipFile等类实现。
一、使用System.IO.Packaging压缩和解压
Package为一个抽象类,可用于将对象组织到定义的物理格式的单个实体中,从而实现可移植性与高效访问。ZIP 文件是Package的主物理格式。 其他Package实现可以使用其他物理格式(如 XML 文档、数据库或 Web 服务。与文件系统类似,在分层组织的文件夹和文件中引用 Package 中包含的项。虽然 Package 是抽象类,但 Package.Open 方法默认使用 ZipPackage 派生类。
System.IO.Packaging在WindowsBase.dll程序集下,使用时需要添加对WindowsBase的引用。
1、将整个文件夹压缩成zip
Code/// <summary>
/// Add a folder along with its subfolders to a Package
/// </summary>
/// <param name="folderName">The folder to add</param>
/// <param name="compressedFileName">The package to create</param>
/// <param name="overrideExisting">Override exsisitng files</param>
/// <returns></returns>
static bool PackageFolder(string folderName, string compressedFileName, bool overrideExisting)
{
if (folderName.EndsWith(@"\"))
folderName = folderName.Remove(folderName.Length - 1);
bool result = false;
if (!Directory.Exists(folderName))
{
return result;
}
if (!overrideExisting && File.Exists(compressedFileName))
{
return result;
}
try
{
using (Package package = Package.Open(compressedFileName, FileMode.Create))
{
var fileList = Directory.EnumerateFiles(folderName, "*", SearchOption.AllDirectories);
foreach (string fileName in fileList)
{
//The path in the package is all of the subfolders after folderName
string pathInPackage;
pathInPackage = Path.GetDirectoryName(fileName).Replace(folderName, string.Empty) + "/" + Path.GetFileName(fileName);
Uri partUriDocument = PackUriHelper.CreatePartUri(new Uri(pathInPackage, UriKind.Relative));
PackagePart packagePartDocument = package.CreatePart(partUriDocument,"", CompressionOption.Maximum);
using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
fileStream.CopyTo(packagePartDocument.GetStream());
}
}
}
result = true;
}
catch (Exception e)
{
throw new Exception("Error zipping folder " + folderName, e);
}
return result;
}
2、将单个文件添加到zip文件中
Code /// <summary>
/// Compress a file into a ZIP archive as the container store
/// </summary>
/// <param name="fileName">The file to compress</param>
/// <param name="compressedFileName">The archive file</param>
/// <param name="overrideExisting">override existing file</param>
/// <returns></returns>
static bool PackageFile(string fileName, string compressedFileName, bool overrideExisting)
{
bool result = false;
if (!File.Exists(fileName))
{
return result;
}
if (!overrideExisting && File.Exists(compressedFileName))
{
return result;
}
try
{
Uri partUriDocument = PackUriHelper.CreatePartUri(new Uri(Path.GetFileName(fileName), UriKind.Relative));
using (Package package = Package.Open(compressedFileName, FileMode.OpenOrCreate))
{
if (package.PartExists(partUriDocument))
{
package.DeletePart(partUriDocument);
}
PackagePart packagePartDocument = package.CreatePart(partUriDocument, "", CompressionOption.Maximum);
using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
fileStream.CopyTo(packagePartDocument.GetStream());
}
}
result = true;
}
catch (Exception e)
{
throw new Exception("Error zipping file " + fileName, e);
}
return result;
} 3、zip文件解压
Code/// <summary>
/// Extract a container Zip. NOTE: container must be created as Open Packaging Conventions (OPC) specification
/// </summary>
/// <param name="folderName">The folder to extract the package to</param>
/// <param name="compressedFileName">The package file</param>
/// <param name="overrideExisting">override existing files</param>
/// <returns></returns>
static bool UncompressFile(string folderName, string compressedFileName, bool overrideExisting)
{
bool result = false;
try
{
if (!File.Exists(compressedFileName))
{
return result;
}
DirectoryInfo directoryInfo = new DirectoryInfo(folderName);
if (!directoryInfo.Exists)
directoryInfo.Create();
using (Package package = Package.Open(compressedFileName, FileMode.Open, FileAccess.Read))
{
foreach (PackagePart packagePart in package.GetParts())
{
ExtractPart(packagePart, folderName, overrideExisting);
}
}
result = true;
}
catch (Exception e)
{
throw new Exception("Error unzipping file " + compressedFileName, e);
}
return result;
}
static void ExtractPart(PackagePart packagePart, string targetDirectory, bool overrideExisting)
{
string stringPart = targetDirectory + HttpUtility.UrlDecode(packagePart.Uri.ToString()).Replace('\\', '/');
if (!Directory.Exists(Path.GetDirectoryName(stringPart)))
Directory.CreateDirectory(Path.GetDirectoryName(stringPart));
if (!overrideExisting && File.Exists(stringPart))
return;
using (FileStream fileStream = new FileStream(stringPart, FileMode.Create))
{
packagePart.GetStream().CopyTo(fileStream);
}
}
使用Package压缩文件会在zip文件自动生成[Content_Type].xml,用来描述zip文件解压支持的文件格式。
Code<?xml version="1.0" encoding="utf-8" ?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="vsixmanifest" ContentType="text/xml" />
<Default Extension="dll" ContentType="application/octet-stream" />
<Default Extension="png" ContentType="application/octet-stream" />
<Default Extension="txt" ContentType="text/plain" />
<Default Extension="pkgdef" ContentType="text/plain" />
</Types> 同样,如果zip文件不包含[Content_Type].xml文件,或者[Content_Type].xml文件不包含所对应扩展名的描述(手动添加的[Content_Type].xml也是可以),将无法解压文件。 二、使用第三方类库 zip的压缩和解压使用比较的有SharpZipLib和DotNetZip。
1、SharpZipLib,也称为“#ziplib”,基于GPL开源,支持Zip,GZip,Tar和BZip2的压缩和解压缩。
支持.NET 1.1,NET 2.0(3.5、4.0).
(1)zip压缩
Codepublic static void Zip(string SrcFile, string DstFile, int BufferSize)
{
FileStream fileStreamIn = new FileStream
(SrcFile, FileMode.Open, FileAccess.Read);
FileStream fileStreamOut = new FileStream
(DstFile, FileMode.Create, FileAccess.Write);
ZipOutputStream zipOutStream = new ZipOutputStream(fileStreamOut);
byte[] buffer = new byte<buffersize />;
ZipEntry entry = new ZipEntry(Path.GetFileName(SrcFile));
zipOutStream.PutNextEntry(entry);
int size;
do
{
size = fileStreamIn.Read(buffer, 0, buffer.Length);
zipOutStream.Write(buffer, 0, size);
} while (size > 0);
zipOutStream.Close();
fileStreamOut.Close();
fileStreamIn.Close();
} (2)解压zipCodepublic static void UnZip(string SrcFile, string DstFile, int BufferSize)
{
FileStream fileStreamIn = new FileStream
(SrcFile, FileMode.Open, FileAccess.Read);
ZipInputStream zipInStream = new ZipInputStream(fileStreamIn);
ZipEntry entry = zipInStream.GetNextEntry();
FileStream fileStreamOut = new FileStream
(DstFile + @"\" + entry.Name, FileMode.Create, FileAccess.Write);
int size;
byte[] buffer = new byte<buffersize />;
do
{
size = zipInStream.Read(buffer, 0, buffer.Length);
fileStreamOut.Write(buffer, 0, size);
} while (size > 0);
zipInStream.Close();
fileStreamOut.Close();
fileStreamIn.Close();
} 2、DotNetLib,是基于”WS-PL”开源,使用比较简单 (1)压缩Codeusing (ZipFile zip = new ZipFile())
{
zip.AddFile("ReadMe.txt");
zip.AddFile("7440-N49th.png");
zip.AddFile("2008_Annual_Report.pdf");
zip.Save("Archive.zip");
} (2)解压Codeprivate void MyExtract()
{
string zipToUnpack = "C1P3SML.zip";
string unpackDirectory = "Extracted Files";
using (ZipFile zip1 = ZipFile.Read(zipToUnpack))
{
// here, we extract every entry, but we could extract conditionally
// based on entry name, size, date, checkbox status, etc.
foreach (ZipEntry e in zip1)
{
e.Extract(unpackDirectory, ExtractExistingFileAction.OverwriteSilently);
}
}
}
三、在.NET 4.5使用ZipArchive、ZipFile等类压缩和解压
Code static void Main(string[] args)
{
string ZipPath = @"c:\users\exampleuser\start.zip";
string ExtractPath = @"c:\users\exampleuser\extract";
string NewFile = @"c:\users\exampleuser\NewFile.txt";
using (ZipArchive Archive = ZipFile.Open(ZipPath, ZipArchiveMode.Update))
{
Archive.CreateEntryFromFile(NewFile, "NewEntry.txt");
Archive.ExtractToDirectory(ExtractPath);
}
}
发表评论
-
C# 分层加密算法
2018-11-07 17:45 996使用PBKDF2算法方案,该算法是一个标准的密钥导出算法,可用 ... -
AES 动态生成秘钥
2018-09-28 14:29 12721:方法一 通过账号+日期进行AES128位加密,取其前面16 ... -
Microsoft Office Excel 不能访问文件“EXCEL.xls”
2018-08-25 16:31 1144Microsoft Office Excel 不能访问文件“X ... -
微信分享
2017-04-20 14:15 671/// <summary> // ... -
web.config 为某个单独页面设置编码格式
2017-03-31 18:28 1146原文链接:http://www.cnblogs.com/m ... -
json日期格式转换成日期字符串
2016-08-29 10:31 2178这里进行去掉json日期的\date\字符串: st ... -
C# http get请求 判断是否存在该图片信息
2016-08-29 10:25 983/// <summary> /// h ... -
C# 将json转换成Datatable
2016-08-29 10:19 1317/// <summary> /// 将 ... -
jQuery.autocomplete.js乱码问题
2016-07-12 14:01 7151、首先修改jQuery.autocomplete.js 文件 ... -
C# 缓存
2016-06-24 15:27 760using System; using System.Col ... -
jquery table 操作
2014-12-06 19:21 977jQuery在客户端操作Table ... -
Firebird单击嵌入式非安装版使用
2014-03-12 18:48 2470Firebird单击嵌入式非安 ... -
asp.net谷歌地图api调用
2014-03-05 16:25 980<html xmlns="http://www ... -
C#开发常用的工具类
2014-02-26 13:47 1369using System; using System.Col ... -
SQLhelper帮助类
2014-02-26 13:33 4666using System; using System.Col ... -
C#中将JSon数据转换成实体类,将实体类转换成Json
2014-02-26 13:22 43967using System; using System.Col ... -
C#反射机制介绍
2014-02-25 11:26 1757反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编 ... -
LIST集合已修改;可能无法执行枚举操作。
2014-02-18 23:17 1016foreach是取只读的,在取的时候数据不 能变(包括修改,删 ... -
JS包含在HTML文件中正常,包含在ASPX文件中就报错
2014-01-09 10:07 1936今天用到了一段显示谷歌地图的JS代码,在Html中显示正常的, ... -
HTTP 500 .19
2013-11-22 14:21 851模块CustomErrorModule的 通知SendResp ...
相关推荐
### VB.NET中的压缩与解压技术 #### 一、简介 VB.NET(Visual Basic .NET)是一种广泛使用的面向对象编程语言,它是Microsoft .NET框架的一部分,用于创建Windows桌面应用程序和其他类型的软件。在许多应用场景中,...
在.NET框架中,VB.NET提供了一种方便的方式来处理ZIP文件的压缩和解压缩,这主要得益于System.IO.Packaging命名空间中的ZipPackage类。本文将深入探讨如何利用VB.NET和ZipPackage来完成这一任务,同时也会提及一些...
.NET Framework 4.5 中的 ZipArchive 类是一个非常实用的工具,它允许开发者方便地对文件进行压缩和解压操作。在 ASP.NET 开发中,这个功能尤其有用,因为经常需要处理用户上传或下载的文件。ZipArchive 类的引入...
通过这个Asp.NET 2.0的压缩/解压示例源码,开发者可以学习到如何在实际项目中集成这些功能,提高应用程序的效率和用户体验。不过,随着技术的发展,更现代的框架如ASP.NET Core已经提供了更简洁的API来处理这些任务...
综上所述,`.NET zip压缩解压动态库源码`是为C#开发者设计的一个高效、简洁的工具,它封装了处理ZIP文件的核心操作,使得在C#项目中实现压缩和解压缩功能变得更加便捷。通过理解和应用这些知识点,开发者能够轻松地...
使用C#进行ZIP压缩的基本步骤如下: 1. 引入`System.IO.Compression`命名空间: ```csharp using System.IO; using System.IO.Compression; ``` 2. 创建一个ZipArchive对象,打开一个新或现有的ZIP文件: ```...
这个库不仅提供了基本的压缩和解压缩功能,还包括创建和修改ZIP档案、读取和写入GZip和BZip2流、以及处理7-Zip和Tar档案的高级功能。 在.NET 2.0中使用SharpZipLib进行文件压缩,首先需要将`ICSharpCode....
本文将详细探讨.NET中的ZIP压缩类,包括如何使用它们进行文件的压缩和解压,以及可能的优化策略。 首先,我们关注的核心类是`System.IO.Compression.ZipArchive`。这个类提供了创建、打开和修改ZIP档案的功能。在`...
在VB.NET编程环境中,开发文件压缩和解压缩功能可以极大地提升数据存储和传输的效率。ICSharpCode.SharpZipLib库是一个强大的开源组件,它提供了对多种压缩格式的支持,包括ZIP和GZip等。本实例将详细介绍如何使用VB...
网上很少有用VB写的压缩文件的代码,但是,在网络...另外加上了多层文件夹压缩解压。但是,因为时间有限,只是将文件全部读取到缓存处理,所以,针对大文件没有做特别的处理。例子里面有提示,根据需要自己改动一下吧。
在这个“Asp.net2.0在线压缩_解压示例源码”中,我们可以看到如何在ASP.NET环境中实现文件的在线压缩和解压功能。这个示例提供了对用户上传的文件进行压缩或解压缩的功能,这对于处理大量数据的Web应用尤其有用,...
标签 "asp.NET zip" 指出这个主题涉及如何在ASP.NET应用中使用ZIP压缩技术。在ASP.NET中,可以使用多种方式来处理ZIP文件,例如使用第三方库如SharpZipLib或System.IO.Compression namespace(自.NET Framework 4.5...
总的来说,.NET中的7-Zip组件DLL(7z-64.dll和SevenZipSharp.dll)为开发者提供了强大的压缩和解压缩功能,使得在.NET环境中处理压缩文件变得易如反掌。无论是简单的单文件操作还是复杂的压缩任务,都可以借助这些...
在VC++.net环境中,处理大文件的压缩...总的来说,VC++.net中处理大文件的压缩和解压涉及了对压缩库的熟练运用,理解文件流操作,以及可能的性能优化策略。通过Zlib、7-Zip SDK等工具,开发者可以高效地完成这项任务。
Android端zip压缩与解压,目前暂时只做zip格式支持,基于Zip4j (http://www.lingala.net/zip4j/)进行扩展成工具类,支持对单个文件,多个文件以及文件夹进行压缩,对压缩文件解压到到指定目录,支持压缩解压使用密码...
`.NET (C#) ZIP压缩1.0版支持.NET1.1`是一个专为.NET 1.1框架设计的库,旨在帮助开发者在C#环境中方便地实现ZIP文件的压缩与解压功能。这个版本已经考虑了设计的易用性和稳定性,并修复了一些已知的错误,使得开发...
asp.net 压缩解压文件,调用该方法,直接传入路径参数即可,非常好用,本人推荐哦
在本文中,我们将深入探讨如何使用ASP.NET 2.0框架来实现在线的文件压缩和解压功能。ASP.NET 2.0是Microsoft .NET Framework的一部分,它为Web应用程序开发提供了一个强大的平台。通过结合C#编程语言和Visual Studio...
在.NET框架中,C#程序员可以使用不同的库来实现ZIP文件的压缩与解压功能。本文将详细探讨C#中如何进行ZIP文件的操作,并重点介绍`System.IO.Compression`命名空间下的`ZipFile`类以及第三方库ICSharpCode....
这篇文章将深入探讨如何在ASP.NET中有效地处理zip文件,包括上传、解压并保持目录结构。 首先,我们需要理解ASP.NET中的文件上传机制。在ASP.NET中,用户通过表单上传文件时,这些文件会被封装在HttpRequest对象的...