压缩工具-ZipUtil
# 简介
静态工具类 ZipUtil,提供了四种不同类型的压缩和解压缩方法,包括压缩文件或目录、解压缩文件到指定目录、压缩字符串和解压缩字符串。其中,压缩文件或目录和解压缩文件到指定目录的方法直接调用了.NET Framework内置的ZipFile
类实现,而压缩字符串和解压缩字符串则使用了GZipStream
类和MemoryStream
类来实现
# EasyTool.ZipUtil 类
方法说明:
Zip
: 压缩指定的文件或目录到指定路径的zip文件中。
Unzip
: 解压缩指定路径的zip文件到指定目录中。
ZipString
: 压缩指定的字符串,并返回Base64编码的压缩结果字符串。
UnzipString
: 解压缩Base64编码的压缩字符串,并返回解压缩后的原始字符串。
# Zip-压缩文件或目录
/// <summary>
/// 压缩文件或目录
/// </summary>
/// <param name="sourcePath">要压缩的文件或目录路径</param>
/// <param name="destinationPath">压缩文件保存的路径</param>
public static void Zip(string sourcePath, string destinationPath)
# Unzip-解压缩文件到指定目录
/// <summary>
/// 解压缩文件到指定目录
/// </summary>
/// <param name="sourcePath">要解压的文件路径</param>
/// <param name="destinationPath">解压后文件保存的目录</param>
public static void Unzip(string sourcePath, string destinationPath)
# ZipString-压缩字符串
/// <summary>
/// 压缩字符串
/// </summary>
/// <param name="source">要压缩的字符串</param>
/// <returns>压缩后的字符串</returns>
public static string ZipString(string source)
# UnzipString-解压缩字符串
/// <summary>
/// 解压缩字符串
/// </summary>
/// <param name="source">要解压的字符串</param>
/// <returns>解压后的字符串</returns>
public static string UnzipString(string source)
# 代码示例
using System;
class Program
{
static void Main(string[] args)
{
string sourcePath = @"C:\Users\username\Desktop\test";
string zipPath = @"C:\Users\username\Desktop\test.zip";
string unzipPath = @"C:\Users\username\Desktop\unzip";
ZipUtil.Zip(sourcePath, zipPath);
Console.WriteLine("File or directory compressed successfully");
ZipUtil.Unzip(zipPath, unzipPath);
Console.WriteLine("File unzipped successfully");
string source = "Hello, World!";
string compressed = ZipUtil.ZipString(source);
Console.WriteLine("String compressed: " + compressed);
string uncompressed = ZipUtil.UnzipString(compressed);
Console.WriteLine("String uncompressed: " + uncompressed);
}
}
# 输出结果
File or directory compressed successfully
File unzipped successfully
String compressed: H4sIAAAAAAAAA3WQQWvDQBCE4b1Rukya2hLx4MGvZzLjKGMsbGxoV7yW8XvU2SnJNEKz5++1/Z5p8YYo/5nKjCl/fStaD6W/bX8TYv+QppJjSZymh7VW5Up5
上次更新: 2023/04/26, 22:10:06