这是一个在CSDN论坛中讨论过的压缩算法代码。
与WinRAR以最快方式压缩ZIP比较,
255M的文件
Level=0时 用时24.98秒 大小95.1M
Level=255时 用时30.24秒 大小91.6M
WinRAR最快压缩ZIP 用时 25.2秒 大小58.6M
标准RAR压缩,我看了一下,实在太慢,也就没试了,估计要几分钟才会有结果。
从速度看,基本持平了,这个算法虽然最大压缩能力有限,但感觉设计得很巧妙,每次都基于动态表,使软件可以做得很小巧,资源占用也很少。非常值得收藏!
'测试窗体中的代码
Option Explicit
Private WithEvents ObjZip As ClassZip
Private BgTime As Single
Private Sub Command1_Click()
BgTime = Timer
Command1.Enabled = False
Command2.Enabled = False
With ObjZip
.InputFileName = Text1.Text
.OutputFileName = Text2.Text
.IsCompress = True
.CompressLevel = Val(Text4.Text)
.BeginPro
css End With
Label1.Caption = Round(Timer - BgTime, 2) & "秒"
Command1.Enabled = True
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
BgTime = Timer
Command1.Enabled = False
Command2.Enabled = False