मुझे एक टार फ़ाइल लेने और इसे एक स्ट्रिंग (और इसके विपरीत) में बदलने के लिए एक आसान तरीका चाहिए। क्या रूबी में ऐसा करने का कोई तरीका है? मेरा सबसे अच्छा प्रयास यह था:
file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
contents << line
}
मैंने सोचा था कि इसे एक स्ट्रिंग में बदलने के लिए पर्याप्त होगा, लेकिन तब जब मैं इसे इस तरह से वापस लिखने की कोशिश करता हूं ...
newFile = File.open("test.tar.gz", "w")
newFile.write(contents)
यह एक ही फाइल नहीं है। करना ls -l
दिखाता है कि फाइलें विभिन्न आकारों की हैं, हालांकि वे बहुत करीब हैं (और फ़ाइल खोलने से अधिकांश सामग्री का खुलासा होता है)। क्या इसे पूरा करने के लिए एक छोटी सी गलती हो रही है या पूरी तरह से अलग (लेकिन काम करने योग्य) तरीका है?
IO.read
अन्यथा पसंदीदा उत्तर होगा।