J'ai besoin d'un moyen facile de prendre un fichier tar et de le convertir en chaîne (et vice versa). Existe-t-il un moyen de le faire en Ruby? Ma meilleure tentative était la suivante:
file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
contents << line
}
J'ai pensé que ce serait suffisant pour le convertir en chaîne, mais quand j'essaie de le réécrire comme ça ...
newFile = File.open("test.tar.gz", "w")
newFile.write(contents)
Ce n'est pas le même fichier. Faire ls -l
montre que les fichiers sont de tailles différentes, bien qu'ils soient assez proches (et l'ouverture du fichier révèle la plupart du contenu intact). Y a-t-il une petite erreur que je fais ou une manière entièrement différente (mais réalisable) d'accomplir cela?
IO.read
serait la réponse préférée sinon.