【问题标题】:C# - Compress files and folders in gzipC# - 在 gzip 中压缩文件和文件夹
【发布时间】:2016-06-25 16:48:39
【问题描述】:

我需要创建一个压缩文件(rar、gz 或其他巫婆支持大文件和大压缩文件)。我需要创建文件夹并添加由文件夹分隔的文件。 示例:我有这样的文件夹结构

Folder 1
  Folder 1.1
  Folder 1.2
  Folder 1.3
Folder 2
  Folder 2.1
    Folder 2.1.1

在每个文件夹中我都有一些文件。 我需要在压缩文件中复制结构 zip 压缩显然有一些限制,如文件大小和压缩文件大小。 我尝试过使用 GZipStream,但我没有发现如何在 gz 文件中创建文件夹。

【问题讨论】:

  • gzip 是一个字节流压缩器,它不支持文件夹。您需要使用 zip 之类的东西。
  • 压缩文件可能是 tar.gz 或其他文件,不一定是 gzip。 Zip 可能有问题,因为它有限制。

标签: c# file compression gzip rar


【解决方案1】:

GZIP 只能压缩流(因此得名 GZipStream)。这就是为什么 gzip 经常与 tar 一起使用(如 .tar.gz 文件),其中 tar 从文件夹结构中创建一个存档,而 gzip 压缩该存档。

如果您不能使用 ZipArchive 或 ZipFile(在 System.IO.Compression.FileSystem 中)来实现您的目的,最好的选择是外部库/包,例如 SharpZipLibSharpCompress

【讨论】:

  • 谢谢,我要试试 SharpCompress
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 2010-12-14
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-14
相关资源
最近更新 更多