我需要一种简单的方法来获取tar文件并将其转换为字符串(反之亦然)。有没有办法用Ruby实现这一点?我最好的尝试是:
file=file.open(“file.tar.gz的路径”)
contents=“”
file.each{|行|
目录<;<;行
}
我以为这就足够把它转换成字符串了,但是当我试着像这样把它写出来的时候
newFile=File.open(“test.tar.gz”、“w”)
newFile.write(目录)
它不是同一个文件。执行ls-l显示文件大小不同,尽管它们非常接近(打开文件显示大部分内容完好无损)。我是否犯了一个小错误,或者有一个完全不同的(但可行的)方法来实现这一点
首先,您应该以二进制文件的形式打开该文件。然后您可以在一个命令中读取整个文件
file=file.open(“file.tar.gz的路径”,“rb”)
contents=file.read
这将使您在一个字符串中获得整个文件
之后,您可能希望file.close。如果不这样做,文件在被垃圾收集之前不会被关闭,因此在打开时会稍微浪费系统资源