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

  • HTC

    HTC

    12 Ocak 2006
  • RomanAtwood

    RomanAtwood

    18 Kasım 2009
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007