Gio.BufferedOutputStream
Description: Reference for Gio.BufferedOutputStream

### Class

# GioBufferedOutputStream

#### Description [src]

    class Gio.BufferedOutputStream : Gio.FilterOutputStream
      implements Gio.Seekable {
      GBufferedOutputStreamPrivate* priv
    }

Buffered output stream implements `GFilterOutputStream` and provides for buffered writes.

By default, `GBufferedOutputStream`‘s buffer size is set at 4 kilobytes.

To create a buffered output stream, use `g_buffered_output_stream_new()`, or `g_buffered_output_stream_new_sized()` to specify the buffer’s size at construction.

To get the size of a buffer within a buffered input stream, use `g_buffered_output_stream_get_buffer_size()`. To change the size of a buffered output stream’s buffer, use `g_buffered_output_stream_set_buffer_size()`. Note that the buffer’s size cannot be reduced below the size of the data within the buffer.

#### Hierarchy

#### Ancestors

- GFilterOutputStream
- GOutputStream
- GObject

#### Implements

- GSeekable

#### Constructors

###### g_buffered_output_stream_new

Creates a new buffered output stream for a base stream.

###### g_buffered_output_stream_new_sized

Creates a new buffered output stream with a given buffer size.

#### Instance methods

###### g_buffered_output_stream_get_auto_grow

Checks if the buffer automatically grows as data is added.

###### g_buffered_output_stream_get_buffer_size

Gets the size of the buffer in the `stream`.

###### g_buffered_output_stream_set_auto_grow

Sets whether or not the `stream`‘s buffer should automatically grow. If `auto_grow` is true, then each write will just make the buffer larger, and you must manually flush the buffer to actually write out the data to the underlying stream.

###### g_buffered_output_stream_set_buffer_size

Sets the size of the internal buffer to `size`.

##### Methods inherited from GFilterOutputStream (3)

###### g_filter_output_stream_get_base_stream

Gets the base stream for the filter stream.

###### g_filter_output_stream_get_close_base_stream

Returns whether the base stream will be closed when `stream` is closed.

###### g_filter_output_stream_set_close_base_stream

Sets whether the base stream will be closed when `stream` is closed.

##### Methods inherited from GOutputStream (31)

Please see GOutputStream for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GSeekable (5)

###### g_seekable_can_seek

Tests if the stream supports the `GSeekableIface`.

###### g_seekable_can_truncate

Tests if the length of the stream can be adjusted with g_seekable_truncate().

###### g_seekable_seek

Seeks in the stream by the given `offset`, modified by `type`.

###### g_seekable_tell

Tells the current position within the stream.

###### g_seekable_truncate

Sets the length of the stream to `offset`. If the stream was previously larger than `offset`, the extra data is discarded. If the stream was previously shorter than `offset`, it is extended with NUL (‘\0’) bytes.

#### Properties

###### Gio.BufferedOutputStream:auto-grow

Whether the buffer should automatically grow.

###### Gio.BufferedOutputStream:buffer-size

The size of the backend buffer, in bytes.

##### Properties inherited from GFilterOutputStream (2)

###### Gio.FilterOutputStream:base-stream

The underlying base stream on which the I/O ops will be done.

###### Gio.FilterOutputStream:close-base-stream

Whether the base stream should be closed when the filter stream is closed.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct GioBufferedOutputStreamClass {
      GFilterOutputStreamClass parent_class;
      void (* _g_reserved1) (
    void
      );
      void (* _g_reserved2) (
    void
      );

    }

No description available.

###### Class members

`parent_class: GFilterOutputStreamClass`

  No description available.

`_g_reserved1: void (* _g_reserved1) ( void )`

  No description available.

`_g_reserved2: void (* _g_reserved2) ( void )`

  No description available.