我正在创建一个PDA应用程序,我需要上传/下载大量小文件,我的想法是将它们收集在未压缩的zip文件中。
问题是:从zip 读取这些文件而不将它们分开是个好主意?我怎么能这样做?还是更好地解压缩它们?由于文件没有被压缩,我的简单思维点可能从zip中读取它或多或少与直接从文件系统中读取它们一样有效。
谢谢你的时间!
答案 0 :(得分:4)
由于有两个不同的开源库(SharpZipLib和DotNetZip Library)来处理写作&从zip文件中提取文件,为什么要担心自己做呢?
答案 1 :(得分:1)
从v1.7开始,DotNetZip库在.NET Compact Framework 2.0及更高版本上运行。它可以处理在ZIP存档中读取或写入压缩或未压缩的文件。源代码分发包括CF示例应用程序。这很简单。
答案 2 :(得分:0)
听起来好像要使用存档来分组文件。
从读取文件的角度来看,如果文件是以某种方式处理的话,那就差别很小。但是,您需要实现读取zip文件的功能。即使您使用像James Curran建议的lib,也意味着额外的工作,这可能意味着其他错误来源。
从上传文件的角度来看,它更有意义:上传者可以收集所需的所有文件,并且只需要处理一次上传。这减少了开销和错误处理(如果一个uplaod失败,你是否必须删除已经上传的该组的所有文件?)。
至于从档案中读取它们的效率与直接从光盘中读取它们的效率:差别应该是最小的。您(或您的zip库)需要一次解析zip目录结构,这非常简单。其余的是将文件的一部分读入内存而不是将文件读入内存。