类
GioFileIOStream
自:2.22
描述 [src]
class Gio.FileIOStream : Gio.IOStream
implements Gio.Seekable {
/* No available fields */
}
GFileIOStream
提供同时读写同一文件句柄的 I/O 流。
GFileIOStream
实现 GSeekable
,该实现允许 I/O 流跳转到文件中的任意位置并截断该文件,前提是该文件的 文件系统支持这些操作。
要查找文件 I/O 流的位置,请使用 g_seekable_tell()
。
要了解文件 I/O 流是否支持寻址,请使用 g_seekable_can_seek()
。要定位文件 I/O 流,请使用 g_seekable_seek()
。要了解文件 I/O 流是否支持截断,请使用 g_seekable_can_truncate()
。要截断文件 I/O 流,请使用 g_seekable_truncate()
。
所有 GFileIOStream
操作和 GSeekable
的实现的默认实现只是调用输出流上的相同操作。
自:2.22
实例方法
g_file_io_stream_query_info
查询给定 attributes
的文件 io 流。此函数在查询流时阻塞。有关此函数的异步版本,请参见 g_file_io_stream_query_info_async()。在流被阻塞期间,流会在内部设置挂起标记,并且流上的任何其他操作都将因 G_IO_ERROR_PENDING
而失败。
自:2.22
g_file_io_stream_query_info_async
异步查询GFileInfo
。完成后,将会使用 GAsyncResult
调用 callback
,该 GAsyncResult
可用于通过 g_file_io_stream_query_info_finish()
完成操作。
自:2.22
继承自 GIOStream 的方法(10 个)
g_io_stream_clear_pending
清除 stream
上的挂起标记。
自:2.22
g_io_stream_close
关闭流,释放与之相关的资源。如果输入和输出流尚未关闭,这也会关闭这些流。
自:2.22
g_io_stream_close_async
请求异步关闭流,释放与之相关的资源。操作完成后,将会调用 callback
。然后,您可以调用 g_io_stream_close_finish()
以获取操作的结果。
自:2.22
g_io_stream_close_finish
关闭流。
自:2.22
g_io_stream_get_input_stream
获取此对象的输入流。这用于读取。
自:2.22
g_io_stream_get_output_stream
获取此对象的输出流。这用于写入。
自:2.22
g_io_stream_has_pending
检查流是否有待处理的操作。
自:2.22
g_io_stream_is_closed
检查流是否已关闭。
自:2.22
g_io_stream_set_pending
设置 stream
使其有待处理的操作。如果已设置待处理标志或 stream
已关闭,它将返回 FALSE
并设置 error
。
自:2.22
g_io_stream_splice_async
异步将 stream1
的输出流与 stream2
的输入流连接起来,并将 stream2
的输出流与 stream1
的输入流连接起来。
自: 2.28
从 GSeekable (5) 继承的方法
g_seekable_can_seek
测试流是否支持 GSeekableIface
。
g_seekable_can_truncate
测试是否可以使用 g_seekable_truncate() 调整流的长度。
g_seekable_seek
通过给定的 offset
,由 type
修改,在流中进行搜索。
g_seekable_tell
报告流中的当前位置。
g_seekable_truncate
将流的长度设置为 offset
。如果流以前大于 offset
,则会丢弃额外的数据。如果流以前小于 offset
,则使用 NUL('\0')字节进行扩展。
属性
从 GIOStream (3) 继承的属性
Gio.IOStream:closed
流是否已关闭。
自:2.22
Gio.IOStream:input-stream
用于从中读取的 GInputStream
。
自:2.22
Gio.IOStream:output-stream
用于写入的 GOutputStream
。
自:2.22
信号
从 GObject (1) 继承的信号
GObject::notify
当对象的一个属性通过 g_object_set_property()、g_object_set() 等来设置值时,会在对象上发出 notify 信号。
类结构
struct GioFileIOStreamClass {
GIOStreamClass parent_class;
goffset (* tell) (
GFileIOStream* stream
);
gboolean (* can_seek) (
GFileIOStream* stream
);
gboolean (* seek) (
GFileIOStream* stream,
goffset offset,
GSeekType type,
GCancellable* cancellable,
GError** error
);
gboolean (* can_truncate) (
GFileIOStream* stream
);
gboolean (* truncate_fn) (
GFileIOStream* stream,
goffset size,
GCancellable* cancellable,
GError** error
);
GFileInfo* (* query_info) (
GFileIOStream* stream,
const char* attributes,
GCancellable* cancellable,
GError** error
);
void (* query_info_async) (
GFileIOStream* stream,
const char* attributes,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
GFileInfo* (* query_info_finish) (
GFileIOStream* stream,
GAsyncResult* result,
GError** error
);
char* (* get_etag) (
GFileIOStream* stream
);
void (* _g_reserved1) (
void
);
void (* _g_reserved2) (
void
);
void (* _g_reserved3) (
void
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
}
没有可用的描述。
类成员
parent_class: GIOStreamClass
没有可用的描述。
tell: goffset (* tell) ( GFileIOStream* stream )
没有可用的描述。
can_seek: gboolean (* can_seek) ( GFileIOStream* stream )
没有可用的描述。
seek: gboolean (* seek) ( GFileIOStream* stream, goffset offset, GSeekType type, GCancellable* cancellable, GError** error )
没有可用的描述。
can_truncate: gboolean (* can_truncate) ( GFileIOStream* stream )
没有可用的描述。
truncate_fn: gboolean (* truncate_fn) ( GFileIOStream* stream, goffset size, GCancellable* cancellable, GError** error )
没有可用的描述。
query_info: GFileInfo* (* query_info) ( GFileIOStream* stream, const char* attributes, GCancellable* cancellable, GError** error )
没有可用的描述。
query_info_async: void (* query_info_async) ( GFileIOStream* stream, const char* attributes, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
没有可用的描述。
query_info_finish: GFileInfo* (* query_info_finish) ( GFileIOStream* stream, GAsyncResult* result, GError** error )
没有可用的描述。
get_etag: char* (* get_etag) ( GFileIOStream* stream )
没有可用的描述。
_g_reserved1: void (* _g_reserved1) ( void )
没有可用的描述。
_g_reserved2: void (* _g_reserved2) ( void )
没有可用的描述。
_g_reserved3: void (* _g_reserved3) ( void )
没有可用的描述。
_g_reserved4: void (* _g_reserved4) ( void )
没有可用的描述。
_g_reserved5: void (* _g_reserved5) ( void )
没有可用的描述。
虚方法
Gio.FileIOStreamClass.query_info
查询给定 attributes
的文件 io 流。此函数在查询流时阻塞。有关此函数的异步版本,请参见 g_file_io_stream_query_info_async()。在流被阻塞期间,流会在内部设置挂起标记,并且流上的任何其他操作都将因 G_IO_ERROR_PENDING
而失败。
自:2.22
Gio.FileIOStreamClass.query_info_async
异步查询GFileInfo
。完成后,将会使用 GAsyncResult
调用 callback
,该 GAsyncResult
可用于通过 g_file_io_stream_query_info_finish()
完成操作。
自:2.22