Ich möchte nur den gesamten Inhalt aus einer lokalen Datei abrufen und in einer Variablen speichern. Wie?
File.read(@icon.full_filename).each {|l| r += l}
gibt mir nur einen Teil davon. In PHP habe ich gerade verwendet file_get_contents
.
Ich möchte nur den gesamten Inhalt aus einer lokalen Datei abrufen und in einer Variablen speichern. Wie?
File.read(@icon.full_filename).each {|l| r += l}
gibt mir nur einen Teil davon. In PHP habe ich gerade verwendet file_get_contents
.
Antworten:
data = File.read("/path/to/file")
Ich denke, Sie sollten in Betracht ziehen, IO.binread("/path/to/file")
wenn Sie einen aktuellen Ruby-Interpreter haben (dh> = 1.9.2).
Die IO
Klassendokumentation finden Sie hier http://www.ruby-doc.org/core-2.1.2/IO.html
Die Beantwortung meiner eigenen Frage hier ... stellt sich heraus, dass es sich nur um eine Windows-Eigenart handelt, die beim Lesen von Binärdateien (in meinem Fall einem JPEG) auftritt und ein zusätzliches Flag im Funktionsaufruf open oder File.open erfordert. Ich habe es überarbeitet open("/path/to/file", 'rb') {|io| a = a + io.read}
und alles war in Ordnung.
data = File.open("file", "rb") {|io| io.read}