gio.FileOutputStream
Prev | PyGio Class Reference | Next

## gio.FileOutputStream

gio.FileOutputStream — Base class for implementing streaming input

## Synopsis

    class gio.FileOutputStream(gio.OutputStream):
        def get_etag()
        def query_info(attributes, cancellable=None)
        def query_info_async(attributes, callback, io_priority=glib.PRIORITY_DEFAULT, cancellable=None, user_data=None)
        def query_info_finish(result)

## Ancestry

    +-- gobject.GObject
      +-- gio.OutputStream
        +-- gio.FileOutputStream

## Implemented Interfaces

`gio.FileOutputStream` implements `gio.Seekable`

## Description

`gio.FileOutputStream` provides output streams that write their content to a file.

`gio.FileOutputStream` implements `gio.Seekable`, which allows the output stream to jump to arbitrary positions in the file and to truncate the file, provided the filesystem of the file supports these operations. In addition to the generic gio.Seekable. API, `gio.FileOutputStream` has its own API for seeking and positioning. To find the position of a file output stream, use `gio.Seekable.tell`(). To find out if a file output stream supports seeking, use `gio.Seekable.can_seek`(). To position a file output stream, use `gio.Seekable.seek`(). To find out if a file output stream supports truncating, use `gio.FileOutputStream.can_truncate`(). To truncate a file output stream, use `gio.Seekable.truncate`().

## Methods

### gio.FileOutputStream.get_etag

        def get_etag()

Returns : | the entity tag for the stream.

The `get_etag`() method gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing.

### gio.FileOutputStream.query_info

        def query_info(attributes, cancellable=None)

`attributes` : | a file attribute query string.
`cancellable` : | optional `gio.Cancellable` object, `None` to ignore.
Returns : | a `gio.FileInfo`, or `None` on error.

The `query_info`() method queries a file input stream the given attributes. This function blocks while querying the stream. For the asynchronous (non-blocking) version of this function, see `gio.FileOutputStream.query_info_async`(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with gio.ERROR_PENDING.

Can fail if the stream was already closed (with error being set to gio.ERROR_CLOSED), the stream has pending operations (with error being set to gio.ERROR_PENDING), or if querying info is not supported for the stream's interface (with error being set to gio.ERROR_NOT_SUPPORTED). In all cases of failure, NULL will be returned.

If cancellable is not `None`, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error gio.ERROR_CANCELLED will be set, and `None` will be returned.

### gio.FileOutputStream.query_info_async

        def query_info_async(attributes, callback, io_priority=glib.PRIORITY_DEFAULT, cancellable=None, user_data=None)

`attributes` : | a file attribute query string.
`callback` : | a GAsyncReadyCallback to call when the request is satisfied.
`io_priority` : | the Glib Priority Constants of the request.
`cancellable` : | optional `gio.Cancellable` object, `None` to ignore.
`user_data` : | the data to pass to callback function.

The `query_info_async`() method queries the stream information asynchronously. When the operation is finished callback will be called. You can then call `gio.FileOutputStream.query_info_finish`() to get the result of the operation.

For the synchronous version of this function, see `gio.FileOutputStream.query_info`().

If cancellable is not `None`, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error gio.ERROR_CANCELLED will be set

### gio.FileOutputStream.query_info_finish

        def query_info_finish(result)

`result` : | a `gio.AsyncResult`.
Returns : | a `gio.FileInfo`, or `None` on error.

The `query_info_finish`() method finishes an asynchronous file append operation started with `gio.FileOutputStream.query_info_async`().

Prev | Up | Next
gio.FileMonitor | Home | gio.FilterInputStream