#include <juce_OutputStream.h>
The base class for streams that write data to some kind of destination.
Input and output streams are used throughout the library - subclasses can override some or all of the virtual functions to implement their behaviour.
- See also
- InputStream, MemoryOutputStream, FileOutputStream
◆ OutputStream()
OutputStream::OutputStream |
( |
| ) |
|
|
protected |
◆ ~OutputStream()
OutputStream::~OutputStream |
( |
| ) |
|
|
virtual |
Destructor.
Some subclasses might want to do things like call flush() during their destructors.
◆ flush()
virtual void OutputStream::flush |
( |
| ) |
|
|
pure virtual |
◆ getNewLineString()
◆ getPosition()
virtual int64 OutputStream::getPosition |
( |
| ) |
|
|
pure virtual |
◆ setNewLineString()
void OutputStream::setNewLineString |
( |
const String & |
newLineString | ) |
|
Sets the string that will be written to the stream when the writeNewLine() method is called. By default this will be set the value of NewLine::getDefault().
◆ setPosition()
virtual bool OutputStream::setPosition |
( |
int64 |
newPosition | ) |
|
|
pure virtual |
◆ write()
virtual bool OutputStream::write |
( |
const void * |
dataToWrite, |
|
|
size_t |
numberOfBytes |
|
) |
| |
|
pure 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.
- Parameters
-
dataToWrite | the target buffer to receive the data. This must not be null. |
numberOfBytes | the number of bytes to write. |
- Returns
- false if the write operation fails for some reason
Implemented in MemoryOutputStream, FileOutputStream, and GZIPCompressorOutputStream.
◆ writeBool()
bool OutputStream::writeBool |
( |
bool |
boolValue | ) |
|
|
virtual |
Writes a boolean to the stream as a single byte. This is encoded as a binary byte (not as text) with a value of 1 or 0.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readBool
◆ writeByte()
bool OutputStream::writeByte |
( |
char |
byte | ) |
|
|
virtual |
Writes a single byte to the stream.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readByte
◆ writeCompressedInt()
bool OutputStream::writeCompressedInt |
( |
int |
value | ) |
|
|
virtual |
Writes a condensed binary encoding of a 32-bit integer.
If you're storing a lot of integers which are unlikely to have very large values, this can save a lot of space, because values under 0xff will only take up 2 bytes, under 0xffff only 3 bytes, etc.
The format used is: number of significant bytes + up to 4 bytes in little-endian order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readCompressedInt
◆ writeDouble()
bool OutputStream::writeDouble |
( |
double |
value | ) |
|
|
virtual |
Writes a 64-bit floating point value to the stream in a binary format. The eight raw bytes of the double value are written out as a little-endian 64-bit int.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readDouble
◆ writeDoubleBigEndian()
bool OutputStream::writeDoubleBigEndian |
( |
double |
value | ) |
|
|
virtual |
Writes a 64-bit floating point value to the stream in a binary format. The eight raw bytes of the double value are written out as a big-endian 64-bit int.
- See also
- InputStream::readDoubleBigEndian
- Returns
- false if the write operation fails for some reason
◆ writeFloat()
bool OutputStream::writeFloat |
( |
float |
value | ) |
|
|
virtual |
Writes a 32-bit floating point value to the stream in a binary format. The binary 32-bit encoding of the float is written as a little-endian int.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readFloat
◆ writeFloatBigEndian()
bool OutputStream::writeFloatBigEndian |
( |
float |
value | ) |
|
|
virtual |
Writes a 32-bit floating point value to the stream in a binary format. The binary 32-bit encoding of the float is written as a big-endian int.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readFloatBigEndian
◆ writeFromInputStream()
Reads data from an input stream and writes it to this stream.
- Parameters
-
source | the stream to read from |
maxNumBytesToWrite | the number of bytes to read from the stream (if this is less than zero, it will keep reading until the input is exhausted) |
- Returns
- the number of bytes written
Reimplemented in MemoryOutputStream.
◆ writeInt()
bool OutputStream::writeInt |
( |
int |
value | ) |
|
|
virtual |
Writes a 32-bit integer to the stream in a little-endian byte order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readInt
◆ writeInt64()
bool OutputStream::writeInt64 |
( |
int64 |
value | ) |
|
|
virtual |
Writes a 64-bit integer to the stream in a little-endian byte order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readInt64
◆ writeInt64BigEndian()
bool OutputStream::writeInt64BigEndian |
( |
int64 |
value | ) |
|
|
virtual |
Writes a 64-bit integer to the stream in a big-endian byte order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readInt64BigEndian
◆ writeIntBigEndian()
bool OutputStream::writeIntBigEndian |
( |
int |
value | ) |
|
|
virtual |
Writes a 32-bit integer to the stream in a big-endian byte order.
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readIntBigEndian
◆ writeRepeatedByte()
bool OutputStream::writeRepeatedByte |
( |
uint8 |
byte, |
|
|
size_t |
numTimesToRepeat |
|
) |
| |
|
virtual |
Writes a byte to the output stream a given number of times.
- Returns
- false if the write operation fails for some reason
Reimplemented in MemoryOutputStream, and FileOutputStream.
◆ writeShort()
bool OutputStream::writeShort |
( |
short |
value | ) |
|
|
virtual |
Writes a 16-bit integer to the stream in a little-endian byte order. This will write two bytes to the stream: (value & 0xff), then (value >> 8).
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readShort
◆ writeShortBigEndian()
bool OutputStream::writeShortBigEndian |
( |
short |
value | ) |
|
|
virtual |
Writes a 16-bit integer to the stream in a big-endian byte order. This will write two bytes to the stream: (value >> 8), then (value & 0xff).
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readShortBigEndian
◆ writeString()
Stores a string in the stream in a binary format.
This isn't the method to use if you're trying to append text to the end of a text-file! It's intended for storing a string so that it can be retrieved later by InputStream::readString().
It writes the string to the stream as UTF8, including the null termination character.
For appending text to a file, instead use writeText, or operator<<
- Returns
- false if the write operation fails for some reason
- See also
- InputStream::readString, writeText, operator<<
◆ writeText()
bool OutputStream::writeText |
( |
const String & |
text, |
|
|
bool |
asUTF16, |
|
|
bool |
writeUTF16ByteOrderMark |
|
) |
| |
|
virtual |
Writes a string of text to the stream.
It can either write the text as UTF-8 or UTF-16, and can also add the UTF-16 byte-order-mark bytes (0xff, 0xfe) to indicate the endianness (these should only be used at the start of a file).
The method also replaces '\n' characters in the text with '\r\n'.
- Returns
- false if the write operation fails for some reason
The documentation for this class was generated from the following files: