我知道有很多免费且不那么免费的压缩库,但是对于我正在处理的项目,我需要能够从流中获取文件数据并将其放入某种类型的zip或pack文件中,但是没有压缩,因为我需要快速访问这些文件,而不必等待它们解压缩.
任何人都知道如何处理这个问题,或者是否有一些库那样做我不知道的?
你可以使用Zip.您可以使用"none"或"store"之类的压缩级别,它只是在没有压缩的情况下组合文件.该网站列举了其中一些内容:
最大 - 压缩选项中最慢的,但对创建小型档案最有用.
正常 - 默认值.
低 - 比默认速度快,但效果较差.
最小 - 极快的压缩,但不如其他方法有效.
无 - 创建ZIP文件但不压缩它.如果存档已加密或自解压,则文件大小可能略大.
以下是一些C#示例:
CodeProject上
EggheadCafe
对于unix没有意识到,这正是这样tar
做的.当你看到.tar.gz文件时,它只是将一堆文件合并到一个tar
文件中,然后通过gzip运行.
看看System.IO.Packaging命名空间.
从MSDN引用:
System.IO.Packaging程序
提供支持在单个容器中存储多个数据对象的类.
Package是一个抽象类,可用于将对象组织为定义的物理格式的单个实体,以实现可移植性和高效访问.
ZIP文件是Package的主要物理格式.其他包实现可能使用其他物理格式,例如XML文档,数据库或Web服务.
您可以为包选择不同的压缩选项:
NotCompressed - 压缩已关闭.
正常 - 压缩针对大小和性能之间的平衡进行了优化.
最大 - 压缩针对大小进行了优化.
快速 - 压缩针对性能进行了优化.
SuperFast - 压缩针对高性能进行了优化.