class SF::FileInputStream
- SF::FileInputStream
- SF::InputStream
- Reference
- Object
Overview
Implementation of input stream based on a file
This class is a specialization of InputStream
that
reads from a file on disk.
It wraps a file in the common InputStream
interface
and therefore allows to use generic classes or functions
that accept such a stream, with a file on disk as the data
source.
In addition to the virtual functions inherited from
InputStream
, FileInputStream
adds a function to
specify the file to open.
SFML resource classes can usually be loaded directly from
a filename, so this class shouldn't be useful to you unless
you create your own algorithms that operate on an InputStream
Usage example:
def process(stream : InputStream)
end
stream = SF::FileInputStream.open("some_file.dat")
process(stream)
See also: InputStream
, MemoryInputStream
Included Modules
Defined in:
system/obj.crConstructors
-
.new
Default constructor
-
.open(*args, **kwargs) : self
Shorthand for
file_input_stream = FileInputStream.new; file_input_stream.open(...); file_input_stream
Instance Method Summary
-
#finalize
Default destructor
-
#open(filename : String) : Bool
Open the stream from a file path
-
#read(data : Slice) : Int64
Read data from the stream
-
#seek(position : Int) : Int64
Change the current reading position
-
#size : Int64
Return the size of the stream
-
#tell : Int64
Get the current reading position in the stream
Instance methods inherited from class SF::InputStream
finalize
finalize,
read(data : Slice) : Int64
read,
seek(position : Int) : Int64
seek,
size : Int64
size,
tell : Int64
tell
Constructor methods inherited from class SF::InputStream
new
new
Constructor Detail
Shorthand for file_input_stream = FileInputStream.new; file_input_stream.open(...); file_input_stream
Raises InitError
on failure
Instance Method Detail
Open the stream from a file path
- filename - Name of the file to open
Returns: True on success, false on error
Read data from the stream
After reading, the stream's reading position must be advanced by the amount of bytes read.
- data - Buffer where to copy the read data
Returns: The number of bytes actually read, or -1 on error
Change the current reading position
- position - The position to seek to, from the beginning
Returns: The position actually sought to, or -1 on error
Return the size of the stream
Returns: The total number of bytes available in the stream, or -1 on error
Get the current reading position in the stream
Returns: The current position, or -1 on error.