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

  • fufko

    fufko

    27 ŞUBAT 2006
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • MrChiCity3

    MrChiCity3

    14 NİSAN 2008