Necesito una manera fácil de tomar un archivo tar y convertirlo en una cadena (y viceversa). ¿Hay alguna manera de hacer esto en Ruby? Mi mejor intento fue este:
file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
contents << line
}
Pensé que sería suficiente para convertirlo en una cadena, pero cuando trato de escribirlo de nuevo de esta manera ...
newFile = File.open("test.tar.gz", "w")
newFile.write(contents)
No es el mismo archivo. Hacer ls -l
muestra que los archivos son de diferentes tamaños, aunque están bastante cerca (y abrir el archivo revela la mayor parte del contenido intacto). ¿Hay un pequeño error que estoy cometiendo o una forma completamente diferente (pero viable) de lograr esto?
IO.read
contrario sería la respuesta preferida.