请看下面的详细讲解:
1. c# 文件压缩zip的方法
1.1 引用System.IO.Compression和System.IO.Compression.FileSystem命名空间
using System.IO.Compression;
using System.IO.Compression.FileSystem;
1.2 创建压缩文件方法
// 压缩文件方法
public void CompressFile(string sourceFile, string compressedFile)
{
// 创建文件流
using (FileStream sourceStream = new FileStream(sourceFile, FileMode.Open))
{
// 创建压缩文件流
using (FileStream compressedStream = File.Create(compressedFile))
{
// 创建压缩流
using (GZipStream compressor = new GZipStream(
compressedStream, CompressionMode.Compress))
{
// 复制文件流到压缩流
sourceStream.CopyTo(compressor);
}
}
}
}
1.3 调用压缩文件方法
// 测试压缩文件方法
string sourceFile = @"D:\test.txt";
string compressedFile = @"D:\test.txt.gz";
CompressFile(sourceFile, compressedFile);
2. c# 将zip文件解压的方法
2.1 引用System.IO.Compression和System.IO.Compression.FileSystem命名空间
using System.IO.Compression;
using System.IO.Compression.FileSystem;
2.2 创建解压文件方法
// 解压文件方法
public void ExtractFile(string zipFile, string extractPath)
{
// 打开zip文件
using (ZipArchive archive = ZipFile.OpenRead(zipFile))
{
// 遍历zip文件中的每个文件
foreach (ZipArchiveEntry entry in archive.Entries)
{
// 创建文件保存路径
string fullPath = Path.Combine(extractPath, entry.FullName);
// 创建文件夹
if (entry.FullName.EndsWith("/"))
{
Directory.CreateDirectory(fullPath);
continue;
}
// 创建文件流
using (FileStream fileStream = new FileStream(fullPath, FileMode.Create))
{
// 复制zip文件的流到文件流中
using (Stream stream = entry.Open())
{
stream.CopyTo(fileStream);
}
}
}
}
}
2.3 调用解压文件方法
// 测试解压文件方法
string zipFile = @"D:\test.zip";
string extractPath = @"D:\extract\";
ExtractFile(zipFile, extractPath);
通过以上方法,你可以轻松地使用c#压缩和解压zip文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 文件压缩zip或将zip文件解压的方法 - Python技术站