Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用zlib在ruby中动态压缩文件流_Ruby_Zlib - Fatal编程技术网

如何使用zlib在ruby中动态压缩文件流

如何使用zlib在ruby中动态压缩文件流,ruby,zlib,Ruby,Zlib,我希望以这样一种方式包装一个普通的文件,即从中读取(分块)生成压缩数据 目前: f = File.open(name) while(string = f.read(@chunk_size) { <do something> } 谢谢 更新: 这个黑客似乎有效,但我相信它可以通过Zlib进行检测: f = File.popen("/bin/gzip < #{name}" ) f=File.popen(“/bin/gzip

我希望以这样一种方式包装一个普通的文件,即从中读取(分块)生成压缩数据

目前:

f = File.open(name)

while(string = f.read(@chunk_size) {
    <do something>
}
谢谢

更新:

这个黑客似乎有效,但我相信它可以通过Zlib进行检测:

f = File.popen("/bin/gzip < #{name}" )
f=File.popen(“/bin/gzip<#{name}”)

查看如何使用Zlib..

如果文件中的数据位于单独的行中,可以使用each_line()迭代器方法

f = File.new('somefile.txt', 'r')
f.each_line do |line|
  <The compression and storage part>
end
f=File.new('somefile.txt','r')
f、 每条线都要做|
结束

可能您已经遇到过这种情况。

不幸的是,它是一个二进制文件,所以我认为“每行”在这里不起作用
f = File.new('somefile.txt', 'r')
f.each_line do |line|
  <The compression and storage part>
end