c# - SharpZipLib : 如何使用 FastZip 将单个文件压缩为单个 zip 文件
问题描述
我发现这种方法可以使用SharpZipLib
.
private static void CompressFile(string inputPath, string outputPath)
{
FileInfo outFileInfo = new FileInfo(outputPath);
FileInfo inFileInfo = new FileInfo(inputPath);
// Create the output directory if it does not exist
if (!Directory.Exists(outFileInfo.Directory.FullName))
{
Directory.CreateDirectory(outFileInfo.Directory.FullName);
}
// Compress
using (FileStream fsOut = File.Create(outputPath))
{
using (ICSharpCode.SharpZipLib.Zip.ZipOutputStream zipStream = new ICSharpCode.SharpZipLib.Zip.ZipOutputStream(fsOut))
{
zipStream.SetLevel(3);
ICSharpCode.SharpZipLib.Zip.ZipEntry newEntry = new ICSharpCode.SharpZipLib.Zip.ZipEntry(inFileInfo.Name);
newEntry.DateTime = DateTime.UtcNow;
zipStream.PutNextEntry(newEntry);
byte[] buffer = new byte[4096];
using (FileStream streamReader = File.OpenRead(inputPath))
{
ICSharpCode.SharpZipLib.Core.StreamUtils.Copy(streamReader, zipStream, buffer);
}
zipStream.CloseEntry();
zipStream.IsStreamOwner = true;
zipStream.Close();
}
}
}
首先,告诉我这种方法是否正确?
其次,如何将单个文件压缩为单个 zip 文件FastZip
?
在本教程中,他们讲述了如何压缩目录 - 不是单个文件 > SharpZipLib-wiki-FastZip
解决方案
推荐阅读
- apache-kafka - kafka消费者从单个分区向消费者分发消息| 选择
- angular - 如何将字符串映射到 Observable
角度值 - excel - Excel 函数连接返回意外的附加双引号字符
- c# - 如何使用 C# 生成的密钥在 Angular 中使用 RSA 加密数据
- python - 我无法使用 Python tkinter 在新窗口上显示图像
- android - 带有嵌套动态 WHERE 子句的 Room @Relation
- linux - 删除 -mtime 选项中的硬编码天数以在 shell 脚本中查找文件
- vue.js - Vue 无法读取 undefined 的属性影片
- architecture - 手柄的另一边是什么?
- javascript - 通过 $set 更改对象属性给出:“TypeError: Cannot read property 'call' of undefined”