SORU
25 EYLÜL 2008, PERŞEMBE


Ruby - String Dosya Dönüştürme

Kolay bir yol tar dosyası almak ve bir dize (ve tersi) dönüştürmek istiyorum. Bir şekilde Ruby bunu yapmak için var mı? En iyi denemem oldu bu

file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
  contents << line
}

Bir dize dönüştürmek için yeterli olacağını düşündüm, ama sonra yazmaya çalıştığımda bu şekilde geri...

newFile = File.open("test.tar.gz", "w")
newFile.write(contents)

Aynı dosya değil. ls -l dosyaları çok yakın olmalarına rağmen farklı boyutlarda, (ve dosya içeriğini olduğu gibi en ortaya koymaktadır açılış) gösterir. Yapıyorum küçük bir hata ya da (ama) uygulanabilir tamamen farklı, bunu yapmanın bir yolu var mı?

CEVAP
7 Kasım 2008, Cuma


Eğer ikili modu gerekiyorsa, bunu zor yoldan yapmak gerekir:

s = File.open(filename, 'rb') { |f| f.read }

Değil, daha kısa ve tatlı.

s = IO.read(filename)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Diogo Oliveira

    Diogo Olivei

    4 HAZİRAN 2006
  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013