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 -lpokazuje, ż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.readw przeciwnym razie byłaby preferowana odpowiedź.