рубиновый_эквивалентно каждому_байту - PullRequest
0 голосов
/ 25 июля 2011

Как прочитать весь файл блочно в рубине? например мегабайт:

files.each do |filename|
    f=File.new(filename)
    f.each_block(1024) {|megabyte|
        print megabyte      
    }
end

Я хочу использовать этот код в CGI для объединения файлов TS на лету, пока пользователь загружает объединенный файл. С each_byte пропускная способность загрузки очень мала из-за небольшого размера блока (1 байт).

1 Ответ

2 голосов
/ 25 июля 2011

Из http://www.ruby -doc.org / core / classes / IO.html # M000918 :

# iterate over fixed length records.
open("fixed-record-file") {|f|
  while record = f.read(256)
    ...
  end
}

И вы всегда можете обернуть его в каждый метод.

...