আমার একটি টার ফাইল নেওয়ার এবং এটিকে স্ট্রিং (এবং বিপরীতে) রূপান্তর করার জন্য একটি সহজ উপায় প্রয়োজন। রুবিতে এটি করার কোনও উপায় আছে? আমার সেরা চেষ্টা এটি ছিল:
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
অন্যথায় পছন্দসই উত্তর হতে হবে।