29 bufferSize (bufferSizeToUse),
30 buffer (jmax (bufferSizeToUse, (size_t) 16))
43 return currentPosition;
48 if (newPosition != currentPosition)
51 currentPosition = juce_fileSetPosition (fileHandle, newPosition);
54 return newPosition == currentPosition;
57bool FileOutputStream::flushBuffer()
61 if (bytesInBuffer > 0)
63 ok = (writeInternal (buffer, bytesInBuffer) == (ssize_t) bytesInBuffer);
78 jassert (src !=
nullptr && ((ssize_t) numBytes) >= 0);
83 if (bytesInBuffer + numBytes < bufferSize)
85 memcpy (buffer + bytesInBuffer, src, numBytes);
86 bytesInBuffer += numBytes;
87 currentPosition += (int64) numBytes;
94 if (numBytes < bufferSize)
96 memcpy (buffer + bytesInBuffer, src, numBytes);
97 bytesInBuffer += numBytes;
98 currentPosition += (int64) numBytes;
102 auto bytesWritten = writeInternal (src, numBytes);
104 if (bytesWritten < 0)
107 currentPosition += (int64) bytesWritten;
108 return bytesWritten == (ssize_t) numBytes;
117 jassert (((ssize_t) numBytes) >= 0);
119 if (bytesInBuffer + numBytes < bufferSize)
121 memset (buffer + bytesInBuffer,
byte, numBytes);
122 bytesInBuffer += numBytes;
123 currentPosition += (int64) numBytes;
bool writeRepeatedByte(uint8 byte, size_t numTimesToRepeat) override
bool write(const void *, size_t) override
~FileOutputStream() override
bool setPosition(int64) override
bool openedOk() const noexcept
int64 getPosition() override
FileOutputStream(const File &fileToWriteTo, size_t bufferSizeToUse=16384)
virtual bool writeRepeatedByte(uint8 byte, size_t numTimesToRepeat)