File stream class. More...

#include <FileStream.h>

Inheritance diagram for FileStream:
[legend]
Collaboration diagram for FileStream:
[legend]

Public Member Functions

 FileStream ()
 
 FileStream (const String &fileName, FileOpenFlags openFlags=eFO_ReadOnly)
 Create a file stream. More...
 
 ~FileStream ()
 
void attach (file_t file, size_t size)
 Attach this stream object to an open file handle. More...
 
bool attach (const String &fileName, FileOpenFlags openFlags=eFO_ReadOnly)
 
bool open (const String &fileName, FileOpenFlags openFlags=eFO_ReadOnly)
 Open a file and attach this stream object to it. More...
 
void close ()
 Close file. More...
 
StreamType getStreamType () const override
 Get the stream type. More...
 
size_t write (const uint8_t *buffer, size_t size) override
 Write chars to stream. More...
 
int read () override
 Read one character and moves the stream pointer. More...
 
size_t readBytes (char *buffer, size_t length) override
 Read chars from stream into buffer. More...
 
uint16_t readMemoryBlock (char *data, int bufSize) override
 Read a block of memory. More...
 
int seekFrom (int offset, SeekOrigin origin) override
 Change position in stream. More...
 
bool isFinished () override
 Check if all data has been read. More...
 
String fileName () const
 Filename of file stream is attached to. More...
 
bool fileExist () const
 Determine if file exists. More...
 
String getName () const override
 Returns name of the resource. More...
 
bool isValid () const override
 Determine if the stream object contains valid data. More...
 
size_t getPos () const
 Get the offset of cursor from beginning of data. More...
 
size_t getSize () const
 Get the total file size. More...
 
int available () override
 Return the maximum bytes available to read, from current position. More...
 
String id () const override
 Returns unique id of the resource. More...
 
int getLastError ()
 determine if an error occurred during operation More...
 
bool truncate (size_t newSize)
 Reduce the file size. More...
 
bool truncate ()
 Truncate file at current position. More...
 
- Public Member Functions inherited from ReadWriteStream
size_t write (uint8_t charToWrite) override
 From Stream class: We don't write using this stream. More...
 
virtual size_t copyFrom (IDataSourceStream *source, size_t size=SIZE_MAX)
 Copy data from a source stream. More...
 
- Public Member Functions inherited from IDataSourceStream
int peek () override
 Read a character without advancing the stream pointer. More...
 
virtual bool seek (int len)
 Move read cursor. More...
 
int length ()
 Return the total length of the stream. More...
 
void flush () override
 
virtual MimeType getMimeType () const
 Get MIME type for stream content. More...
 
String readString (size_t maxLen) override
 Overrides Stream method for more efficient reading. More...
 
virtual bool moveString (String &s)
 Memory-based streams may be able to move content into a String. More...
 
- Public Member Functions inherited from Stream
 Stream ()
 
void setTimeout (unsigned long timeout)
 Set maximum milliseconds to wait for stream data, default is 1 second. More...
 
bool find (const char *target)
 Read data from the stream until the target string is found. More...
 
bool find (const char *target, size_t length)
 Read data from the stream until the target string of given length is found. More...
 
bool findUntil (const char *target, const char *terminator)
 As find() but search ends if the terminator string is found. More...
 
bool findUntil (const char *target, size_t targetLen, const char *terminate, size_t termLen)
 As findUntil(const char*, const char*) but search ends if the terminate string is found. More...
 
long parseInt ()
 Returns the first valid (long) integer value from the current position. More...
 
float parseFloat ()
 float version of parseInt More...
 
size_t readBytesUntil (char terminator, char *buffer, size_t length)
 As readBytes() with terminator character. More...
 
String readStringUntil (char terminator)
 
virtual int indexOf (char c)
 
- Public Member Functions inherited from Print
virtual ~Print ()
 
int getWriteError ()
 Gets last error. More...
 
void clearWriteError ()
 Clears the last write error. More...
 
size_t write (const char *str)
 Writes a c-string to output stream. More...
 
size_t write (const char *buffer, size_t size)
 Writes characters from a buffer to output stream. More...
 
size_t print (char c)
 Prints a single character to output stream. More...
 
size_t print (const char str[])
 Prints a c-string to output stream. More...
 
size_t print (double num, int digits=2)
 Print a floating-point number to output stream. More...
 
size_t print (const Printable &p)
 Prints a Printable object to output stream. More...
 
size_t print (const String &s)
 Prints a String to output stream. More...
 
size_t println ()
 Prints a newline to output stream. More...
 
size_t println (const char str[])
 Prints a c-string to output stream, appending newline. More...
 
size_t println (char c)
 Prints a single character to output stream, appending newline. More...
 
size_t println (double num, int digits=2)
 Print a floating-point number to output stream, appending newline. More...
 
size_t println (const Printable &p)
 Prints a Printable object to output stream, appending newline. More...
 
size_t println (const String &s)
 Prints a String to output stream, appending newline. More...
 
size_t printf (const char *fmt,...) __attribute__((format(printf
 Prints a formatted c-string to output stream. More...
 
size_t print (unsigned long num, int base=DEC)
 
size_t print (const unsigned long long &num, int base=DEC)
 
size_t print (long, int base=DEC)
 
size_t print (const long long &, int base=DEC)
 
size_t print (unsigned int num, int base=DEC)
 
size_t print (unsigned char num, int base=DEC)
 
size_t print (int num, int base=DEC)
 
size_t println (unsigned char num, int base=DEC)
 
size_t println (unsigned int num, int base=DEC)
 
size_t println (unsigned long num, int base=DEC)
 
size_t println (const unsigned long long &num, int base=DEC)
 
size_t println (int num, int base=DEC)
 
size_t println (long num, int base=DEC)
 
size_t println (const long long &num, int base=DEC)
 

Additional Inherited Members

- Protected Member Functions inherited from Stream
int timedRead ()
 
int timedPeek ()
 
int peekNextDigit ()
 returns the next numeric digit in the stream or -1 if timeout More...
 
long parseInt (char skipChar)
 Like regular parseInt() but the given skipChar is ignored. More...
 
float parseFloat (char skipChar)
 Like parseInt(skipChar) for float. More...
 
- Protected Member Functions inherited from Print
void setWriteError (int err=1)
 
- Protected Attributes inherited from Stream
uint16_t receiveTimeout = 1000
 number of milliseconds to wait for the next char before aborting timed read More...
 

Detailed Description

File stream class.

Constructor & Destructor Documentation

◆ FileStream() [1/2]

FileStream::FileStream ( )
inline

◆ FileStream() [2/2]

FileStream::FileStream ( const String fileName,
FileOpenFlags  openFlags = eFO_ReadOnly 
)
inline

Create a file stream.

Parameters
fileNameName of file to open
openFlags

◆ ~FileStream()

FileStream::~FileStream ( )
inline

Member Function Documentation

◆ attach() [1/2]

void FileStream::attach ( file_t  file,
size_t  size 
)

Attach this stream object to an open file handle.

Parameters
file
size

◆ attach() [2/2]

bool FileStream::attach ( const String fileName,
FileOpenFlags  openFlags = eFO_ReadOnly 
)
inline
Deprecated:
Use open() instead

◆ available()

int FileStream::available ( )
inlineoverridevirtual

Return the maximum bytes available to read, from current position.

Return values
int-1 is returned when the size cannot be determined

Reimplemented from IDataSourceStream.

◆ close()

void FileStream::close ( )

Close file.

◆ fileExist()

bool FileStream::fileExist ( ) const
inline

Determine if file exists.

Return values
booltrue if stream contains valid file

◆ fileName()

String FileStream::fileName ( ) const

Filename of file stream is attached to.

Return values
Stringinvalid if stream isn't open

◆ getLastError()

int FileStream::getLastError ( )
inline

determine if an error occurred during operation

Return values
intfilesystem error code

◆ getName()

String FileStream::getName ( ) const
inlineoverridevirtual

Returns name of the resource.

Return values
String
Note
Commonly used to obtain name of file

Reimplemented from IDataSourceStream.

◆ getPos()

size_t FileStream::getPos ( ) const
inline

Get the offset of cursor from beginning of data.

Return values
size_tCursor offset

◆ getSize()

size_t FileStream::getSize ( ) const
inline

Get the total file size.

Return values
size_tFile size

◆ getStreamType()

StreamType FileStream::getStreamType ( ) const
inlineoverridevirtual

Get the stream type.

Return values
StreamTypeThe stream type.

Reimplemented from IDataSourceStream.

◆ id()

String FileStream::id ( ) const
overridevirtual

Returns unique id of the resource.

Return values
Stringthe unique id of the stream.

Reimplemented from IDataSourceStream.

◆ isFinished()

bool FileStream::isFinished ( )
inlineoverridevirtual

Check if all data has been read.

Return values
boolTrue on success.

Implements IDataSourceStream.

◆ isValid()

bool FileStream::isValid ( ) const
inlineoverridevirtual

Determine if the stream object contains valid data.

Return values
booltrue if valid, false if invalid
Note
Where inherited classes are initialised by constructor this method indicates whether that was successful or not (e.g. FileStream)

Reimplemented from IDataSourceStream.

◆ open()

bool FileStream::open ( const String fileName,
FileOpenFlags  openFlags = eFO_ReadOnly 
)

Open a file and attach this stream object to it.

Parameters
fileName
openFlags
Return values
booltrue on success, false on error
Note
call getLastError() to determine cause of failure

◆ read()

int FileStream::read ( )
inlineoverridevirtual

Read one character and moves the stream pointer.

Return values
Thecharacter that was read or -1 if none is available

Reimplemented from IDataSourceStream.

◆ readBytes()

size_t FileStream::readBytes ( char *  buffer,
size_t  length 
)
overridevirtual

Read chars from stream into buffer.

Terminates if length characters have been read or timeout (see setTimeout). Returns the number of characters placed in the buffer (0 means no valid data found).

Note
Inherited classes may provide more efficient implementations without timeout.

Reimplemented from IDataSourceStream.

◆ readMemoryBlock()

uint16_t FileStream::readMemoryBlock ( char *  data,
int  bufSize 
)
overridevirtual

Read a block of memory.

Parameters
dataPointer to the data to be read
bufSizeQuantity of chars to read
Return values
uint16_tQuantity of chars read
Todo:
Should IDataSourceStream::readMemoryBlock return same data type as its bufSize param?

Implements IDataSourceStream.

◆ seekFrom()

int FileStream::seekFrom ( int  offset,
SeekOrigin  origin 
)
overridevirtual

Change position in stream.

Parameters
offset
origin
Return values
Newposition, < 0 on error
Note
This method is implemented by streams which support random seeking, such as files and memory streams.

Reimplemented from IDataSourceStream.

◆ truncate() [1/2]

bool FileStream::truncate ( size_t  newSize)

Reduce the file size.

Parameters
newSize
Return values
booltrue on success

◆ truncate() [2/2]

bool FileStream::truncate ( )
inline

Truncate file at current position.

Return values
booltrue on success

◆ write()

size_t FileStream::write ( const uint8_t *  buffer,
size_t  size 
)
overridevirtual

Write chars to stream.

Parameters
bufferPointer to buffer to write to the stream
sizeQuantity of chars to write
Return values
size_tQuantity of chars written to stream
Note
Although this is defined in the Print class, ReadWriteStream uses this as the core output method so descendants are required to implement it

Implements ReadWriteStream.


The documentation for this class was generated from the following file: