Potrzebuję łatwego sposobu pobrania pliku tar i przekonwertowania go na ciąg znaków (i odwrotnie). Czy jest na to sposób w Ruby? Moja najlepsza próba była następująca:
file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
contents << line
}
Pomyślałem, że to wystarczy, aby przekonwertować go na ciąg, ale wtedy, gdy próbuję go zapisać z powrotem w ten sposób ...
newFile = File.open("test.tar.gz", "w")
newFile.write(contents)
To nie jest ten sam plik. Wykonanie ls -l
pokazuje, że pliki mają różne rozmiary, chociaż są dość blisko (a otwarcie pliku ujawnia większość zawartości nienaruszonej). Czy popełniam niewielki błąd lub całkowicie inny (ale wykonalny) sposób na osiągnięcie tego?
IO.read
w przeciwnym razie byłaby preferowana odpowiedź.