符合判断一个文件是否已经压缩过? ( 积分: 50 )

  • 主题发起人 主题发起人 墨剑
  • 开始时间 开始时间

墨剑

Unregistered / Unconfirmed
GUEST, unregistred user!
这样我就不用再压缩了
 
用后辍名来判断,如: rar, zip等, 基本上可以了吧.
 
判断文件头,如果是你自己压缩的就很简单了,直接判断就行了
 
加个后缀比较方便
 
你可以自己压一下,判断压缩比,定义一个边界值
超过的就是未压缩文件
不到的就是已经压缩过的文件

参考:
http://www.80diy.com/home/20020627/09/833161.html
 
同意楼上.
 
只能对常用几个判断一下
 
通过后缀名是可以判断出一些,但如果后缀名被该了呢?那就不知道了. 又比如,exe文件可以用aspack来压缩,压缩过后后缀名还是exe呀. 还有未仁兄更好笑,说让我压缩一遍来比较他们的压缩比,我本来就是说判断没有压缩的我才压缩,节约时间,唉...无语
 
只能从文件头提取的特征值来判断,自己压一下肯定不行的,有些文件压与不压大小
都差不多。
 
谁都可以搞出个压缩格式来(效率高不高,效果好不好先放一边)
而且压缩过的文件一样可以用别的格式压的更小(比如zip用7z格式再压一遍)
有的文件根本不需要压缩,比如jpg图像

建议你自己定义一些不需要压缩的文件格式(比如rar、zip、7z、cab、lzh、jar这些常见的压缩比比较高的,或者那些根本就是高压缩的文件比如jpg、iso、rmvb、avi等)
如果你怕扩展名被改过,那就通过读取文件的首字节标志去判断(每中格式的首字节是什么可以去找相关的官方说明文档)

只要不是这些格式的其他的全部压缩
这样省时又省力,只要不出特别奇怪的文件,基本就够用了
 
后退
顶部