无需压缩即可创建zip样式文件

Jas*_*zek 0 c#

我知道有很多免费且不那么免费的压缩库,但是对于我正在处理的项目,我需要能够从流中获取文件数据并将其放入某种类型的zip或pack文件中,但是没有压缩,因为我需要快速访问这些文件,而不必等待它们解压缩.

任何人都知道如何处理这个问题,或者是否有一些库那样做我不知道的?

Mic*_*ren 9

你可以使用Zip.您可以使用"none"或"store"之类的压缩级别,它只是在没有压缩的情况下组合文件.该网站列举了其中一些内容:

  • 最大 - 压缩选项中最慢的,但对创建小型档案最有用.
  • 正常 - 默认值.
  • 低 - 比默认速度快,但效果较差.
  • 最小 - 极快的压缩,但不如其他方法有效.
  • - 创建ZIP文件但不压缩它.如果存档已加密或自解压,则文件大小可能略大.

以下是一些C#示例:

对于unix没有意识到,这正是这样tar做的.当你看到.tar.gz文件时,它只是将一堆文件合并到一个tar文件中,然后通过gzip运行.


aku*_*aku 8

看看System.IO.Packaging命名空间.

从MSDN引用:

System.IO.Packaging程序

提供支持在单个容器中存储多个数据对象的类.

Package是一个抽象类,可用于将对象组织为定义的物理格式的单个实体,以实现可移植性和高效访问.

ZIP文件是Package的主要物理格式.其他包实现可能使用其他物理格式,例如XML文档,数据库或Web服务.

您可以为包选择不同的压缩选项:

  • NotCompressed - 压缩已关闭.
  • 正常 - 压缩针对大小和性能之间的平衡进行了优化.
  • 最大 - 压缩针对大小进行了优化.
  • 快速 - 压缩针对性能进行了优化.
  • SuperFast - 压缩针对高性能进行了优化.