.NET 2.0 提供了压缩和解压缩文件的功能,主要是通过System.IO.Compression和System.IO.Compression.FileSystem命名空间下的类型来实现。
以下是压缩文件的示例代码:
using System.IO.Compression;
public static void CompressFile(string sourceFile, string zipFile)
{
// 打开源文件
using (FileStream sourceStream = new FileStream(sourceFile, FileMode.Open))
{
// 创建压缩文件
using (FileStream zipStream = new FileStream(zipFile, FileMode.OpenOrCreate))
using (GZipStream compressStream = new GZipStream(zipStream, CompressionMode.Compress))
{
// 将源文件内容压缩到压缩文件中
sourceStream.CopyTo(compressStream);
}
}
}
以上代码中,FileStream
类型用于打开源文件和创建压缩文件,GZipStream
类型则用于将源文件内容压缩到压缩文件中。将以上代码放入项目中,可通过调用该函数来压缩指定文件。例如,调用以下代码可压缩sourceFile到zipFile:
CompressFile("sourceFile.txt", "zipFile.zip");
以下是解压文件的示例代码:
using System.IO.Compression;
public static void DecompressFile(string zipFile, string destinationFolder)
{
// 打开压缩文件
using (FileStream zipStream = new FileStream(zipFile, FileMode.Open))
using (GZipStream decompressStream = new GZipStream(zipStream, CompressionMode.Decompress))
{
// 打开或创建目标文件夹
if (!Directory.Exists(destinationFolder))
{
Directory.CreateDirectory(destinationFolder);
}
// 解压到目标文件夹中
string fileName = Path.GetFileNameWithoutExtension(zipFile);
using (FileStream destinationStream = new FileStream(Path.Combine(destinationFolder, fileName), FileMode.Create))
{
decompressStream.CopyTo(destinationStream);
}
}
}
以上代码中,GZipStream
类型用于打开压缩文件并将其解压,而FileStream
类型用于打开或创建目标文件夹和创建解压后的文件。将以上代码放入项目中,可通过调用该函数来解压缩指定文件。例如,调用以下代码可解压zipFile到destinationFolder中:
DecompressFile("zipFile.zip", "destinationFolder");
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.NET 2.0 的压缩功能代码 - Python技术站