日期:2014-05-20  浏览次数:21113 次

如何将多个文件打包成一个文件?
看到许多软件皮肤被打包成一个文件,却可以用ZIP/RAR一类的软件打开。而用ZIP/RAR压缩后却和原来的打包文件大小不一样(估计格式肯定不一样)

我发现有个规律是:被打包的N个文件“在磁盘上所占的大小”==“打包文件的大小”(请仔细理解这句话),也就是说,好像此打包文件是一个“目录”,它里面的文件并没有被压缩,而是按照一定的方式组织起来了(用FAT32方式组织的?不知道),所以才有上面的规律。

哪位曾经研究过吗?请帮忙,谢谢了。

如能帮助解决,我愿意另开贴,再送100分。再次谢谢。

帮顶的也送分,结贴时送。

------解决方案--------------------
up
------解决方案--------------------
...
建个索引:
1.exe 0x55555 1024
2.exe 0x99999 1024

然后0x55555读1024个字节,写1.exe

就是把所有文件保存为一个文件,在这个文件里建个索引,读就按这个索引读
------解决方案--------------------
帮顶 !
------解决方案--------------------
看到许多软件皮肤被打包成一个文件,却可以用ZIP/RAR一类的软件打开。而用ZIP/RAR压缩后却和原来的打包文件大小不一样(估计格式肯定不一样)
=========
从我的经历来看,Stardock公司一系列软件的皮肤都符合你的描述。这些文件确实就是zip文件,只不过修改了文件后缀。之所以你用zip压缩后大小不同,感觉基本上是压缩比不同的缘故。

你发现的规律似乎表明作皮肤的人采用的是zip的存储压缩模式,就是一点也不压缩。毕竟,不压缩的东西也就不用解压,以空间换时间。
------解决方案--------------------
实在是不知道啊


---------------帮UP了
------解决方案--------------------

------解决方案--------------------
jf
------解决方案--------------------
嗯,以前我也关注过这个问题,可是能力有限,我当时想的按照自己的编码规则重新编码exe文件,不过这样做的结果肯定不是楼主说的那种方式。有可能是按照文件系统的思想来做的
------解决方案--------------------
up
------解决方案--------------------
你是要做安装程序吗?
------解决方案--------------------
不知道楼主要做什么,先顶一下!
------解决方案--------------------
不知道楼主要做什么,先顶一下!

------解决方案--------------------
学习一下哈。

------解决方案--------------------
http://www.icsharpcode.com/OpenSource/SharpZipLib/Default.aspx

http://www.codeproject.com/csharp/vmeasyzipunzip.asp
------解决方案--------------------
而且一个文件总比N个好啊。。。
--------------------
不一定!
------解决方案--------------------
up
------解决方案--------------------
学习