2
我在Windows上使用rubyzip壓縮目錄。 當我解壓檔案時,一些文件比它們小。壓縮文件時丟失數據
拉鍊應該是一個無損操作,所以我想知道爲什麼會發生這種情況。
這裏是我使用的代碼:
require 'rubygems'
require 'find'
require 'zip/zip'
output = "c:/temp/test.zip"
zos = Zip::ZipOutputStream.new(output)
path = "C:/temp/profile"
::Find.find(path) do |file|
next if File.directory?(file)
entry = file.sub("#{path}/", '')
zos.put_next_entry(entry)
zos << File.read(file)
end
zos.close
正在有一個問題的具體文件是從Firefox的配置文件。 cert8.db和key3.db
在jruby上運行相同的代碼,使用相同的文件在預期的工作 - 所有的文件是相同的大小。
任何想法爲什麼這是Windows上的問題?
+1 Windows需要了解二進制文件。爲了安全起見,「b」應該在那裏。 – 2011-02-10 14:58:34