c#实现metro文件压缩解压示例


下面是一个使用C#实现Metro(或更通用的Windows桌面应用)中文件压缩与解压的简单示例。这里,我们将使用.NET Framework内置的`System.IO.Compression`命名空间来处理ZIP格式的压缩文件。注意,Metro应用(现在通常称为UWP应用)有特定的API限制,但此示例适用于标准的Windows桌面应用程序。对于UWP应用,你可能需要使用`Windows.Storage.Compression`命名空间,但这里的示例将保持简单并适用于更广泛的场景。

首先,确保你的项目中包含了必要的引用。对于桌面应用,你通常不需要额外添加任何东西,因为`System.IO.Compression`是.NET Framework的一部分。

### 文件压缩示例


using System;
using System.IO;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string startPath = @"C:\example\start"; // 要压缩的文件夹路径
        string zipPath = @"C:\example\result.zip"; // 压缩后ZIP文件的路径

        ZipFile.CreateFromDirectory(startPath, zipPath);

        Console.WriteLine("压缩完成。");
    }
}

### 文件解压示例


using System;
using System.IO;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string zipPath = @"C:\example\result.zip"; // ZIP文件的路径
        string extractPath = @"C:\example\extract"; // 解压后文件的目标文件夹路径

        ZipFile.ExtractToDirectory(zipPath, extractPath);

        Console.WriteLine("解压完成。");
    }
}

### 注意

- 这些示例代码应在C#控制台应用程序中运行,而不是直接在UWP应用中运行,因为UWP应用有不同的API和文件访问限制。

- 如果你的目标是UWP应用,并且需要处理压缩和解压,你可能需要使用`Windows.Storage.Compression`命名空间中的类,如`ZipFile`类(注意,它与`System.IO.Compression.ZipFile`不同,并且功能也可能有所不同)。

- 确保你有足够的权限来访问指定的文件路径,否则可能会抛出异常。

- 这些示例代码没有错误处理逻辑,你可能需要在实际应用中添加适当的错误处理来增强代码的健壮性。