ฉันต้องการวิธีง่ายๆในการใช้ไฟล์ tar และแปลงเป็นสตริง (และในทางกลับกัน) มีวิธีการทำเช่นนี้ใน Ruby หรือไม่? ความพยายามที่ดีที่สุดของฉันคือ:
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
อาจเป็นคำตอบที่ต้องการ