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

  • NPR

    NPR

    22 NİSAN 2006
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010
  • ThePointblank

    ThePointblan

    18 Aralık 2006