Если файлы, которые вы читаете, имеют размер> 1 ГБ, у вас должно быть как минимум столько свободного места, потому что IO.binread
собирается отбросить это количество.
Было бы лучше загрузить известное количество и циклически обработать ввод, пока он не будет полностью прочитан, прочитан и записан кусками.
Из документов:
IO.binread(name, [length [, offset]] ) -> string
------------------------------------------------------------------------------
Opens the file, optionally seeks to the given offset, then returns
length bytes (defaulting to the rest of the file). binread ensures
the file is closed before returning. The open mode would be "rb:ASCII-8BIT".
IO.binread("testfile") #=> "This is line one\nThis is line two\nThis is line three\nAnd so on...\n"
IO.binread("testfile", 20) #=> "This is line one\nThi"
IO.binread("testfile", 20, 10) #=> "ne one\nThis is line "