草庐IT

GzipReader

全部标签

ruby - 如何逐行读取 gzip 文件?

我有一个gzip文件,目前我是这样阅读它的:infile=open("file.log.gz")gz=Zlib::GzipReader.new(infile)output=gz.readputsresult我认为这会将文件转换为字符串,但我想逐行读取它。我想要完成的是该文件有一些警告消息和一些垃圾,我想grep这些警告消息然后将它们写入另一个文件。但是,一些警告消息会重复出现,因此我必须确保只对它们进行grep一次。因此,逐行阅读会对我有所帮助。 最佳答案 您应该能够像处理常规流一样简单地遍历gzip阅读器(accordingtot

ruby - 如何在 ruby​​ 中解压缩 Gzip 字符串?

Zlib::GzipReader可以获取“一个IO或类似IO的对象”。正如它的输入一样,如文档中所述。Zlib::GzipReader.open('hoge.gz'){|gz|printgz.read}File.open('hoge.gz')do|f|gz=Zlib::GzipReader.new(f)printgz.readgz.closeend我应该如何解压缩一个字符串? 最佳答案 上面的方法对我不起作用。我一直收到incorrectheadercheck(Zlib::DataError)错误。显然,它假定默认情况下您有一个he

采空区:类型未注册接口(interface):http.gzipReader

我是一个接受连接的简单TCP服务器,使用http.Get获取URL,然后使用gob对响应进行编码。但是gob无法对http.gzipReader进行编码。在编码时,它会给出以下错误消息:gob:typenotregisteredforinterface:http.gzipReader我的代码如下:packagemainimport("encoding/gob""fmt""log""net""net/http""os")const(CONN_HOST="localhost"CONN_PORT="3333"CONN_TYPE="tcp")funcmain(){//Listenforinco