我有一个非常大的文件,约。 2亿行数据。用Zlib压缩大文件的gzip
我想用Zlib库压缩它,特别是使用Writer。
每次读取每行一行似乎需要相当长的一段时间。有没有更好的方法来完成这一点?
这是我现在所拥有的:
require 'zlib'
Zlib::GzipWriter.open('compressed_file.gz') do |gz|
File.open(large_data_file).each do |line|
gz.write line
end
gz.close
end
使用'foreach'或'each'逐行阅读与通过'read'啜食它比较好,特别是当文件很大时。 Slurping不可扩展。为什么不让gzip处理整个任务,而不是使用Ruby和Zlib?它将以编译代码运行,而不是解释脚本。 –