类
GioFileInputStream
描述 [src]
class Gio.FileInputStream : Gio.InputStream
implements Gio.Seekable {
/* No available fields */
}
GFileInputStream
提供了从文件中获取内容的输入流。
GFileInputStream
实现了GSeekable
,允许输入流跳跃到文件的任意位置,前提是文件系统的文件允许这样做。要找到文件输入流的位置,请使用g_seekable_tell()
。要确定文件输入流是否支持定位,请使用Gio.SeekableIface.can_seek
。要定位文件输入流,请使用Gio.SeekableIface.seek
。
实例方法
g_file_input_stream_query_info
查询给定的attributes
的文件输入流。此函数在查询流时阻塞。有关此函数的异步(非阻塞)版本,请参阅g_file_input_stream_query_info_async()。在流阻塞期间,流将设置内部挂起标志,并且将使用G_IO_ERRORPending
失败任何该流的其它操作。
g_file_input_stream_query_info_async
异步查询流信息。当操作完成时将调用callback
。然后您可以调用g_file_input_stream_query_info_finish()
来获取操作的最终结果。
从GInputStream继承的方法(19)
g_input_stream_clear_pending
清除stream
上的挂起标志。
g_input_stream_close
关闭流,释放与它相关的资源。
g_input_stream_close_async
请求异步关闭流,释放与它相关的资源。当操作完成时将调用callback
。然后您可以通过调用g_input_stream_close_finish()
来获取操作的结果。
g_input_stream_close_finish
完成从g_input_stream_close_async()启动的异步流关闭操作。
g_input_stream_has_pending
检查输入流是否有挂起操作。
g_input_stream_is_closed
检查输入流是否已关闭。
g_input_stream_read
尝试从流中读取count
字节到以buffer
开始的缓冲区。在此读取期间将阻塞。
g_input_stream_read_all
尝试从流中读取count
字节到以buffer
开始的缓冲区。在此读取期间将阻塞。
g_input_stream_read_all_async
请求以buffer
开始的缓冲区异步读取流中的count
个字节。
since: 2.44
g_input_stream_read_all_finish
完成使用g_input_stream_read_all_async()
启动的异步流读取操作。
since: 2.44
g_input_stream_read_async
异步从流中读取 count
个字节到以 buffer
为起始地址的缓冲区中。当操作完成后,将调用 callback
。然后您可以调用 g_input_stream_read_finish()
来获取操作的最终结果。
g_input_stream_read_bytes
类似于 g_input_stream_read(),它尝试以阻塞的方式从流中读取 count
个字节。但是,而不是将数据读取到用户提供的缓冲区中,这将创建一个新的 GBytes
,包含已读取的数据。这可能会从语言绑定中更容易使用。
since: 2.34
g_input_stream读_bytes_async
请求异步从流中读取 count
个字节到一个新的 GBytes
中。当操作完成后,将调用 callback
。然后您可以调用 g_input_stream_read_bytes_finish()
来获取操作的最终结果。
since: 2.34
g_input_stream_read_bytes_finish
完成异步将数据读入 GBytes
的流读取操作。
since: 2.34
g_input_stream_read_finish
完成异步读入流的操作。
g_input_stream_set_pending
设置 stream
以使动作挂起。如果挂起标志已经设置或 stream
已关闭,则返回 FALSE
并设置 error
。
g_input_stream_skip
尝试从流中跳过 count
个字节。在操作期间会阻塞。
g_input_stream_skip_async
请求异步跳过流中的 count
个字节。当操作完成后,将调用 callback
。然后您可以调用 g_input_stream_skip_finish()
来获取操作的最终结果。
g_input_stream_skip_finish
完成流跳过操作。
继承的方法来自 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’)字节进行扩展。
信号
继承自 GObject (1)
GObject::notify
当通过 g_object_set_property(), g_object_set() 等 设置对象的一个属性值时,notify 信号会在对象上发出。
类结构
struct GioFileInputStreamClass {
GInputStreamClass parent_class;
goffset (* tell) (
GFileInputStream* stream
);
gboolean (* can_seek) (
GFileInputStream* stream
);
gboolean (* seek) (
GFileInputStream* stream,
goffset offset,
GSeekType type,
GCancellable* cancellable,
GError** error
);
GFileInfo* (* query_info) (
GFileInputStream* stream,
const char* attributes,
GCancellable* cancellable,
GError** error
);
void (* query_info_async) (
GFileInputStream* stream,
const char* attributes,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
GFileInfo* (* query_info_finish) (
GFileInputStream* stream,
GAsyncResult* result,
GError** error
);
void (* _g_reserved1) (
void
);
void (* _g_reserved2) (
void
);
void (* _g_reserved3) (
void
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
}
无描述信息。
类成员
parent_class: GInputStreamClass
无描述信息。
tell: goffset (* tell) ( GFileInputStream* stream )
无描述信息。
can_seek: gboolean (* can_seek) ( GFileInputStream* stream )
无描述信息。
seek: gboolean (* seek) ( GFileInputStream* stream, goffset offset, GSeekType type, GCancellable* cancellable, GError** error )
无描述信息。
query_info: GFileInfo* (* query_info) ( GFileInputStream* stream, const char* attributes, GCancellable* cancellable, GError** error )
无描述信息。
query_info_async: void (* query_info_async) ( GFileInputStream* stream, const char* attributes, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
无描述信息。
query_info_finish: GFileInfo* (* query_info_finish) ( GFileInputStream* stream, GAsyncResult* result, GError** error )
无描述信息。
_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.FileInputStreamClass.query_info
查询给定的attributes
的文件输入流。此函数在查询流时阻塞。有关此函数的异步(非阻塞)版本,请参阅g_file_input_stream_query_info_async()。在流阻塞期间,流将设置内部挂起标志,并且将使用G_IO_ERRORPending
失败任何该流的其它操作。
Gio.FileInputStreamClass.query_info_async
异步查询流信息。当操作完成时将调用callback
。然后您可以调用g_file_input_stream_query_info_finish()
来获取操作的最终结果。