BufferedInputStream

open class BufferedInputStream(pointer: <Error class: unknown class><<Error class: unknown class>>) : FilterInputStream, Seekable

Buffered input stream implements class@Gio.FilterInputStream and provides for buffered reads.

By default, GBufferedInputStream's buffer size is set at 4 kilobytes.

To create a buffered input stream, use ctor@Gio.BufferedInputStream.new, or ctor@Gio.BufferedInputStream.new_sized to specify the buffer's size at construction.

To get the size of a buffer within a buffered input stream, use method@Gio.BufferedInputStream.get_buffer_size. To change the size of a buffered input stream's buffer, use method@Gio.BufferedInputStream.set_buffer_size. Note that the buffer's size cannot be reduced below the size of the data within the buffer.

Skipped during bindings generation

  • parameter buffer: Array parameter of type guint8 is not supported

  • parameter count: count: Out parameter is not supported

Inheritors

Constructors

Link copied to clipboard
constructor(baseStream: InputStream)

Creates a new class@Gio.InputStream from the given @base_stream, with a buffer set to the default size (4 kilobytes).

constructor(baseStream: InputStream, size: <Error class: unknown class>)

Creates a new class@Gio.BufferedInputStream from the given @base_stream, with a buffer set to @size.

constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

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

Link copied to clipboard
open var bufferSize: <Error class: unknown class>

The size of the backend buffer, in bytes.

Link copied to clipboard

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

Link copied to clipboard
val gioBufferedInputStreamPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
val gioFilterInputStreamPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
val gioInputStreamPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open override val gioSeekablePointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
open fun canSeek(): Boolean

Tests if the stream supports the #GSeekableIface.

Link copied to clipboard
open fun canTruncate(): Boolean

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

Link copied to clipboard
open fun clearPending()

Clears the pending flag on @stream.

Link copied to clipboard
open fun close(cancellable: Cancellable? = null): <Error class: unknown class><Boolean>

Closes the stream, releasing resources related to it.

Link copied to clipboard
open fun closeAsync(ioPriority: Int, cancellable: Cancellable? = null, callback: AsyncReadyCallback)

Requests an asynchronous closes of the stream, releasing resources related to it. When the operation is finished @callback will be called. You can then call g_input_stream_close_finish() to get the result of the operation.

Link copied to clipboard
open fun closeFinish(result: AsyncResult): <Error class: unknown class><Boolean>

Finishes closing a stream asynchronously, started from g_input_stream_close_async().

Link copied to clipboard
open fun fill(count: Long, cancellable: Cancellable? = null): <Error class: unknown class><Long>

Tries to read @count bytes from the stream into the buffer. Will block during this read.

Link copied to clipboard
open fun fillAsync(count: Long, ioPriority: Int, cancellable: Cancellable? = null, callback: AsyncReadyCallback)

Reads data into @stream's buffer asynchronously, up to @count size.

Link copied to clipboard
open fun fillFinish(result: AsyncResult): <Error class: unknown class><Long>

Finishes an asynchronous read.

Link copied to clipboard
open fun getAvailable(): <Error class: unknown class>

Gets the size of the available data within the stream.

Link copied to clipboard

Gets the base stream for the filter stream.

Link copied to clipboard
open fun getBufferSize(): <Error class: unknown class>

Gets the size of the input buffer.

Link copied to clipboard

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

Link copied to clipboard
open fun hasPending(): Boolean

Checks if an input stream has pending actions.

Link copied to clipboard
open fun isClosed(): Boolean

Checks if an input stream is closed.

Link copied to clipboard
open fun readByte(cancellable: Cancellable? = null): <Error class: unknown class><Int>

Tries to read a single byte from the stream or the buffer. Will block during this read.

Link copied to clipboard
open fun readBytes(count: <Error class: unknown class>, cancellable: Cancellable? = null): <Error class: unknown class><<Error class: unknown class>>

Like g_input_stream_read(), this tries to read @count bytes from the stream in a blocking fashion. However, rather than reading into a user-supplied buffer, this will create a new #GBytes containing the data that was read. This may be easier to use from language bindings.

Link copied to clipboard
open fun readBytesAsync(count: <Error class: unknown class>, ioPriority: Int, cancellable: Cancellable? = null, callback: AsyncReadyCallback)

Request an asynchronous read of @count bytes from the stream into a new #GBytes. When the operation is finished @callback will be called. You can then call g_input_stream_read_bytes_finish() to get the result of the operation.

Link copied to clipboard
open fun readBytesFinish(result: AsyncResult): <Error class: unknown class><<Error class: unknown class>>

Finishes an asynchronous stream read-into-#GBytes operation.

Link copied to clipboard
open fun readFinish(result: AsyncResult): <Error class: unknown class><Long>

Finishes an asynchronous stream read operation.

Link copied to clipboard
open fun seek(offset: Long, type: <Error class: unknown class>, cancellable: Cancellable? = null): <Error class: unknown class><Boolean>

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

Link copied to clipboard
open fun setBufferSize(size: <Error class: unknown class>)

Sets the size of the internal buffer of @stream to @size, or to the size of the contents of the buffer. The buffer can never be resized smaller than its current contents.

Link copied to clipboard
open fun setCloseBaseStream(closeBase: Boolean)

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

Link copied to clipboard
open fun setPending(): <Error class: unknown class><Boolean>

Sets @stream to have actions pending. If the pending flag is already set or @stream is closed, it will return false and set

Link copied to clipboard
open fun skip(count: <Error class: unknown class>, cancellable: Cancellable? = null): <Error class: unknown class><Long>

Tries to skip @count bytes from the stream. Will block during the operation.

Link copied to clipboard
open fun skipAsync(count: <Error class: unknown class>, ioPriority: Int, cancellable: Cancellable? = null, callback: AsyncReadyCallback)

Request an asynchronous skip of @count bytes from the stream. When the operation is finished @callback will be called. You can then call g_input_stream_skip_finish() to get the result of the operation.

Link copied to clipboard
open fun skipFinish(result: AsyncResult): <Error class: unknown class><Long>

Finishes a stream skip operation.

Link copied to clipboard
open fun tell(): Long

Tells the current position within the stream.

Link copied to clipboard
open fun truncate(offset: Long, cancellable: Cancellable? = null): <Error class: unknown class><Boolean>

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.