class Core::Portable::FileStream
Overview
Stream representing a file on disk. More…
#include <corefile.h> class FileStream: public Core::IO::Stream { public: // construction FileStream(FILE* file = nullptr); // methods bool open(CStringPtr filename, int mode = IO::kReadMode|IO::kWriteMode); bool create(CStringPtr filename); void close(); bool isOpen() const; int64 getFileSize(); virtual int64 getPosition(); virtual int64 setPosition(int64 pos, int mode); virtual int readBytes(void* buffer, int size); virtual int writeBytes(const void* buffer, int size); };
Inherited Members
public: // fields static const InterfaceID kIID = FOUR_CHAR_ID('B','S','t','r'); // methods virtual int64 getPosition() = 0; virtual int64 setPosition(int64 pos, int mode) = 0; virtual int readBytes(void* buffer, int size) = 0; virtual int writeBytes(const void* buffer, int size) = 0; virtual BufferProvider* getBufferProvider();
Detailed Documentation
Stream representing a file on disk.
Methods
bool open(CStringPtr filename, int mode = IO::kReadMode|IO::kWriteMode)
Open file for binary reading and/or writing.
bool create(CStringPtr filename)
Create new file.
void close()
Close file.
bool isOpen() const
Check if file is currently open.
int64 getFileSize()
Get current size of file in bytes.
virtual int64 getPosition()
Get current read/write position.
virtual int64 setPosition(int64 pos, int mode)
Set current read/write position.
See also:
SeekMode
virtual int readBytes(void* buffer, int size)
Read data from stream.
Returns:
number of bytes read or -1 for error
virtual int writeBytes(const void* buffer, int size)
Write data to stream.
Returns:
number of bytes written or -1 for error