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

  • Distractify

    Distractify

    1 Aralık 2011
  • Jejoab

    Jejoab

    4 NİSAN 2008
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006