Reading bytes from a file


#1

I’m trying to read bytes from a file, and it would be handy if there was
a method that threw an exception if I couldn’t read that many bytes, or
encountered an EOF.

IO#readbytes seems like the perfect method, but I have an instance of
File.
The documentation says that File inherits from IO, but the File instance
doesn’t seem to have the readbytes method. Am I missing something?

–Aaron


#2

Oops… Just needed to require ‘readbytes’

–Aaron


#3

Aaron P. wrote:

I’m trying to read bytes from a file, and it would be handy if there was
a method that threw an exception if I couldn’t read that many bytes, or
encountered an EOF.

IO#readbytes seems like the perfect method, but I have an instance of File.
The documentation says that File inherits from IO, but the File instance
doesn’t seem to have the readbytes method. Am I missing something?

s = open(‘junk’){|f| f.read(10) }
fail if s.size < 10