class Gio::FileOutputStream

Overview

GFileOutputStream provides output streams that write their content to a file.

GFileOutputStream implements #GSeekable, 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.

To find the position of a file output stream, use g_seekable_tell(). To find out if a file output stream supports seeking, use g_seekable_can_seek().To position a file output stream, use g_seekable_seek(). To find out if a file output stream supports truncating, use g_seekable_can_truncate(). To truncate a file output stream, use g_seekable_truncate().

Included Modules

Defined in:

lib/gi-crystal/src/auto/gio-2.0/file_output_stream.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gio::Seekable

can_seek : Bool can_seek, can_truncate : Bool can_truncate, seek(offset : Int64, type : GLib::SeekType, cancellable : Gio::Cancellable?) : Bool seek, tell : Int64 tell, to_unsafe to_unsafe, truncate(offset : Int64, cancellable : Gio::Cancellable?) : Bool truncate

Class methods inherited from module Gio::Seekable

g_type : UInt64 g_type

Instance methods inherited from class Gio::OutputStream

clear_pending : Nil clear_pending, close(cancellable : Gio::Cancellable?) : Bool close, close_async(io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil close_async, close_finish(result : Gio::AsyncResult) : Bool close_finish, flush(cancellable : Gio::Cancellable?) : Bool flush, flush_async(io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil flush_async, flush_finish(result : Gio::AsyncResult) : Bool flush_finish, has_pending : Bool has_pending, is_closed : Bool is_closed, is_closing : Bool is_closing, set_pending : Bool set_pending, splice(source : Gio::InputStream, flags : Gio::OutputStreamSpliceFlags, cancellable : Gio::Cancellable?) : Int64 splice, splice_async(source : Gio::InputStream, flags : Gio::OutputStreamSpliceFlags, io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil splice_async, splice_finish(result : Gio::AsyncResult) : Int64 splice_finish, write(buffer : Enumerable(UInt8), cancellable : Gio::Cancellable?) : Int64 write, write_all(buffer : Enumerable(UInt8), cancellable : Gio::Cancellable?) : Bool write_all, write_all_async(buffer : Enumerable(UInt8), io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil write_all_async, write_all_finish(result : Gio::AsyncResult) : Bool write_all_finish, write_async(buffer : Enumerable(UInt8), io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil write_async, write_bytes(bytes : GLib::Bytes, cancellable : Gio::Cancellable?) : Int64 write_bytes, write_bytes_async(bytes : GLib::Bytes, io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil write_bytes_async, write_bytes_finish(result : Gio::AsyncResult) : Int64 write_bytes_finish, write_finish(result : Gio::AsyncResult) : Int64 write_finish, writev(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable?) : Bool writev, writev_all(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable?) : Bool writev_all, writev_all_async(vectors : Enumerable(Gio::OutputVector), io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil writev_all_async, writev_all_finish(result : Gio::AsyncResult) : Bool writev_all_finish, writev_async(vectors : Enumerable(Gio::OutputVector), io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil writev_async, writev_finish(result : Gio::AsyncResult) : Bool writev_finish

Constructor methods inherited from class Gio::OutputStream

new new

Class methods inherited from class Gio::OutputStream

g_type : UInt64 g_type

Instance methods inherited from class GObject::Object

bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void)? data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void)? qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void)?) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void)? steal_data, steal_qdata(quark : UInt32) : Pointer(Void)? steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, cast?(obj : GObject::Object) : self? cast?, new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
new
new
, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

compat_control(what : UInt64, data : Pointer(Void)?) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Constructor Detail

def self.new #

Initialize a new FileOutputStream.


Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


Instance Method Detail

def etag : String? #

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.


def query_info(attributes : String, cancellable : Gio::Cancellable?) : Gio::FileInfo #

Queries a file output stream for the given @attributes. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_output_stream_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 %G_IO_ERROR_PENDING.

Can fail if the stream was already closed (with @error being set to %G_IO_ERROR_CLOSED), the stream has pending operations (with @error being set to %G_IO_ERROR_PENDING), or if querying info is not supported for the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). In all cases of failure, nil will be returned.

If @cancellable is not nil, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and nil will be returned.


def query_info_async(attributes : String, io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil #

Asynchronously queries the @stream for a #GFileInfo. When completed, @callback will be called with a #GAsyncResult which can be used to finish the operation with g_file_output_stream_query_info_finish().

For the synchronous version of this function, see g_file_output_stream_query_info().


def query_info_finish(result : Gio::AsyncResult) : Gio::FileInfo #

Finalizes the asynchronous query started by g_file_output_stream_query_info_async().