【发布时间】:2015-12-03 08:48:41
【问题描述】:
您好,今天我开始使用 c# 编写一个项目,该项目需要从 zip 文件中获取所有文件,但问题是我需要自己制作。 我无法使用其他照明或任何想法如何开始甚至构建可以工作的东西.....
谢谢。 抱歉,我没有提供代码,但我没有。
【问题讨论】:
-
你能使用标准的 .NET Framework 类吗?
-
是的,这没关系,但不能使用其他人的 lib。
您好,今天我开始使用 c# 编写一个项目,该项目需要从 zip 文件中获取所有文件,但问题是我需要自己制作。 我无法使用其他照明或任何想法如何开始甚至构建可以工作的东西.....
谢谢。 抱歉,我没有提供代码,但我没有。
【问题讨论】:
.NET 框架为此提供了 ZipFile 类。
https://msdn.microsoft.com/en-us/library/system.io.compression.zipfile.openread%28v=vs.110%29.aspx
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string zipPath = @"c:\example\start.zip";
string extractPath = @"c:\example\extract";
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
{
entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
}
}
}
}
}
}
【讨论】:
听起来您可以使用 .Net Framework 中提供的类,因此 MSDN 文档将是一个很好的查看位置 - ZipFile Class
此代码将从给定的 zip 文件中提取文件:
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string zipPath = @"c:\example\result.zip";
string extractPath = @"c:\example\extract";
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
}
【讨论】:
如果您想自己解压缩,那么您必须了解 .zip 文件格式以及用于文件压缩和打包的所有技术。
这是一个很好的起点: https://en.wikipedia.org/wiki/Zip_%28file_format%29
祝你好运!压缩和解压并不简单!
【讨论】: