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()来获取操作的最终结果。

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

完成流跳过操作。

继承的方法来自 GObject (43)

请参阅 GObject 了解方法列表的完整信息。

继承的方法来自 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()来获取操作的最终结果。

Gio.FileInputStreamClass.query_info_finish

完成异步信息查询操作。

Gio.FileInputStreamClass.seek
无描述信息。

Gio.FileInputStreamClass.tell
无描述信息。