Tôi cần một cách dễ dàng để lấy một tập tin tar và chuyển đổi nó thành một chuỗi (và ngược lại). Có cách nào để làm điều này trong Ruby? Nỗ lực tốt nhất của tôi là thế này:
file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
contents << line
}
Tôi nghĩ rằng nó sẽ đủ để chuyển đổi nó thành một chuỗi, nhưng sau đó khi tôi cố gắng viết nó ra như thế này ...
newFile = File.open("test.tar.gz", "w")
newFile.write(contents)
Nó không phải là cùng một tập tin. Việc ls -l
hiển thị các tệp có kích thước khác nhau, mặc dù chúng khá gần (và việc mở tệp cho thấy hầu hết các nội dung còn nguyên vẹn). Có một lỗi nhỏ tôi đang mắc phải hoặc một cách hoàn toàn khác (nhưng hoàn toàn khả thi) để thực hiện điều này?
IO.read
sẽ là câu trả lời ưa thích khác.