An output stream that writes into a local file. More...
Inherits OutputStream.
Public Member Functions | |
| FileOutputStream (const File &fileToWriteTo, int bufferSizeToUse=16384) | |
| Creates a FileOutputStream. | |
| ~FileOutputStream () | |
| Destructor. | |
| const File & | getFile () const |
| Returns the file that this stream is writing to. | |
| const Result & | getStatus () const noexcept |
| Returns the status of the file stream. | |
| bool | failedToOpen () const noexcept |
| Returns true if the stream couldn't be opened for some reason. | |
| bool | openedOk () const noexcept |
| Returns true if the stream opened without problems. | |
| Result | truncate () |
| Attempts to truncate the file to the current write position. | |
| void | flush () |
| If the stream is using a buffer, this will ensure it gets written out to the destination. | |
| int64 | getPosition () |
| Returns the stream's current position. | |
| bool | setPosition (int64 pos) |
| Tries to move the stream's output position. | |
| bool | write (const void *data, int numBytes) |
| Writes a block of data to the stream. | |
| void | writeRepeatedByte (uint8 byte, int numTimesToRepeat) |
| Writes a byte to the output stream a given number of times. | |
An output stream that writes into a local file.
| FileOutputStream::FileOutputStream | ( | const File & | fileToWriteTo, |
| int | bufferSizeToUse = 16384 |
||
| ) |
Creates a FileOutputStream.
If the file doesn't exist, it will first be created. If the file can't be created or opened, the failedToOpen() method will return true.
If the file already exists when opened, the stream's write-postion will be set to the end of the file. To overwrite an existing file, use File::deleteFile() before opening the stream, or use setPosition(0) after it's opened (although this won't truncate the file).
Destructor.
| const File& FileOutputStream::getFile | ( | ) | const |
Returns the file that this stream is writing to.
| const Result& FileOutputStream::getStatus | ( | ) | const |
Returns the status of the file stream.
The result will be ok if the file opened successfully. If an error occurs while opening or writing to the file, this will contain an error message.
| bool FileOutputStream::failedToOpen | ( | ) | const |
Returns true if the stream couldn't be opened for some reason.
| bool FileOutputStream::openedOk | ( | ) | const |
Returns true if the stream opened without problems.
Attempts to truncate the file to the current write position.
To truncate a file to a specific size, first use setPosition() to seek to the appropriate location, and then call this method.
| void FileOutputStream::flush | ( | ) | [virtual] |
If the stream is using a buffer, this will ensure it gets written out to the destination.
Implements OutputStream.
| int64 FileOutputStream::getPosition | ( | ) | [virtual] |
| bool FileOutputStream::setPosition | ( | int64 | newPosition | ) | [virtual] |
Tries to move the stream's output position.
Not all streams will be able to seek to a new position - this will return false if it fails to work.
Implements OutputStream.
| bool FileOutputStream::write | ( | const void * | dataToWrite, |
| int | numberOfBytes | ||
| ) | [virtual] |
Writes a block of data to the stream.
When creating a subclass of OutputStream, this is the only write method that needs to be overloaded - the base class has methods for writing other types of data which use this to do the work.
| dataToWrite | the target buffer to receive the data. This must not be null. |
| numberOfBytes | the number of bytes to write. This must not be negative. |
Implements OutputStream.
| void FileOutputStream::writeRepeatedByte | ( | uint8 | byte, |
| int | numTimesToRepeat | ||
| ) | [virtual] |
Writes a byte to the output stream a given number of times.
Reimplemented from OutputStream.