Yang ingin saya lakukan adalah mendapatkan semua konten dari file lokal dan menyimpannya dalam sebuah variabel. Bagaimana?
File.read(@icon.full_filename).each {|l| r += l}
hanya memberi saya sebagian. Di PHP, saya baru saja menggunakan file_get_contents
.
ruby-on-rails
ruby
Steven
sumber
sumber
Jawaban:
data = File.read("/path/to/file")
sumber
Saya pikir Anda harus mempertimbangkan untuk menggunakan
IO.binread("/path/to/file")
jika Anda memiliki penerjemah ruby baru-baru ini (yaitu> = 1.9.2)Anda dapat menemukan
IO
dokumentasi kelas di sini http://www.ruby-doc.org/core-2.1.2/IO.htmlsumber
Menjawab pertanyaan saya sendiri di sini ... ternyata itu adalah kekhasan khusus Windows yang terjadi ketika membaca file biner (dalam kasus saya JPEG) yang memerlukan flag tambahan dalam pemanggilan fungsi open atau File.open. Saya merevisinya menjadi
open("/path/to/file", 'rb') {|io| a = a + io.read}
dan semuanya baik-baik saja.sumber
data = File.open("file", "rb") {|io| io.read}