open class BufferedOutputStream : FilterOutputStream
kotlin.Any
   ↳ java.io.OutputStream
   ↳ java.io.FilterOutputStream
   ↳ java.io.BufferedOutputStream

The class implements a buffered output stream. By setting up such an output stream, an application can write bytes to the underlying output stream without necessarily causing a call to the underlying system for each byte written.

Summary

Public constructors

Creates a new buffered output stream to write data to the specified underlying output stream.

Creates a new buffered output stream to write data to the specified underlying output stream with the specified buffer size.

Public methods
open Unit

flush()

Flushes this buffered output stream.

open Unit

write(b: ByteArray!, off: Int, len: Int)

Writes len bytes from the specified byte array starting at offset off to this buffered output stream.

open Unit

write(b: Int)

Writes the specified byte to this buffered output stream.

Inherited functions

From class FilterOutputStream

Unit close()

Closes this output stream and releases any system resources associated with the stream.

When not already closed, the close method of FilterOutputStream calls its flush method, and then calls the close method of its underlying output stream.

Unit write(b: ByteArray!)

Writes b.length bytes to this output stream.

The write method of FilterOutputStream calls its write method of three arguments with the arguments b, 0, and b.length.

Note that this method does not call the one-argument write method of its underlying output stream with the single argument b.

From class OutputStream

OutputStream! nullOutputStream()

Returns a new OutputStream which discards all bytes. The returned stream is initially open. The stream is closed by calling the close() method. Subsequent calls to close() have no effect.

While the stream is open, the write(int), write(byte[]), and write(byte[], int, int) methods do nothing. After the stream has been closed, these methods all throw IOException.

The flush() method does nothing.

Properties
ByteArray!

The internal buffer where data is stored.

Int

The number of valid bytes in the buffer.

Inherited properties

From class FilterOutputStream

OutputStream! out

The underlying output stream to be filtered.

Public constructors

BufferedOutputStream

BufferedOutputStream(out: OutputStream!)

Creates a new buffered output stream to write data to the specified underlying output stream.

Parameters
out OutputStream!: the underlying output stream.

BufferedOutputStream

BufferedOutputStream(
    out: OutputStream!,
    size: Int)

Creates a new buffered output stream to write data to the specified underlying output stream with the specified buffer size.

Parameters
out OutputStream!: the underlying output stream.
size Int: the buffer size.
Exceptions
java.lang.IllegalArgumentException if size <= 0.

Public methods

flush

open fun flush(): Unit

Flushes this buffered output stream. This forces any buffered output bytes to be written out to the underlying output stream.

Exceptions
java.io.IOException if an I/O error occurs.

write

open fun write(
    b: ByteArray!,
    off: Int,
    len: Int
): Unit

Writes len bytes from the specified byte array starting at offset off to this buffered output stream.

Ordinarily this method stores bytes from the given array into this stream's buffer, flushing the buffer to the underlying output stream as needed. If the requested length is at least as large as this stream's buffer, however, then this method will flush the buffer and write the bytes directly to the underlying output stream. Thus redundant BufferedOutputStreams will not copy data unnecessarily.

Parameters
b ByteArray!: the data.
off Int: the start offset in the data.
len Int: the number of bytes to write.
Exceptions
java.io.IOException if an I/O error occurs.

write

open fun write(b: Int): Unit

Writes the specified byte to this buffered output stream.

Parameters
b Int: the byte to be written.
Exceptions
java.io.IOException if an I/O error occurs.

Properties

buf

protected var buf: ByteArray!

The internal buffer where data is stored.

count

protected var count: Int

The number of valid bytes in the buffer. This value is always in the range 0 through buf.length; elements buf[0] through buf[count-1] contain valid byte data.

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2025-02-10 UTC.