GioDataInputStream

描述 [src]

class Gio.DataInputStream : Gio.BufferedInputStream
  implements Gio.Seekable {
  /* No available fields */
}

数据输入流实现了 GInputStream,其中包括从二进制输入流直接读取结构化数据的功能。

实现

构造函数

g_data_input_stream_new

base_stream 创建新的数据输入流。

实例方法

g_data_input_stream_get_byte_order

获取数据输入流的字节序。

g_data_input_stream_get_newline_type

获取 stream 的当前换行符类型。

g_data_input_stream_read_byte

stream 读取未签名的 8 位/1 字节的值。

g_data_input_stream_read_int16

stream 读一个 16 位/2 字节的值。

g_data_input_stream_read_int32

stream 读取有符号的 32 位/4 字节的值。

g_data_input_stream_read_int64

stream 读取 64 位/8 字节的值。

g_data_input_stream_read_line

从数据输入流读取一行。请注意,不执行编码检查或转换;输入不保证为 UTF-8,并且实际上可能包含嵌入的 NUL 字符。

g_data_input_stream_read_line_async

g_data_input_stream_read_line() 的异步版本。错误地对于此函数有两个未完成的调用。

since: 2.20

g_data_input_stream_read_line_finish

完成由 g_data_input_stream_read_line_async() 开始的异步调用。请注意关于 g_data_input_stream_read_line() 中字符串编码的警告也适用于此。

since: 2.20

g_data_input_stream_read_line_finish_utf8

完成由 g_data_input_stream_read_line_async() 开始的异步调用。

since: 2.30

g_data_input_stream_read_line_utf8

从数据输入流中读取 UTF-8 编码的行。

since: 2.30

g_data_input_stream_read_uint16

stream 中读取无符号 16 位/2 字节值。

g_data_input_stream_read_uint32

stream 中读取无符号 32 位/4 字节值。

g_data_input_stream_read_uint64

stream 中读取无符号 64 位/8 字节值。

g_data_input_stream_read_until

从数据输入流中读取一个字符串,直到遇到任何停止字符首次出现。

已弃用:2.56 

g_data_input_stream_read_until_async

g_data_input_stream_read_until() 的异步版本。针对此函数进行的调用不能有两个未完完成的调用。

已弃用:2.56 自:2.20 可用

g_data_input_stream_read_until_finish

完成 g_data_input_stream_read_until_async() 触发的异步调用。

已弃用:2.56 自:2.20 可用

g_data_input_stream_read_upto

从数据输入流中读取一个字符串,直到遇到任何停止字符首次出现。

自:2.26 可用

g_data_input_stream_read_upto_async

g_data_input_stream_read_upto() 的异步版本。针对此函数进行的调用不能有两个未完完成的调用。

自:2.26 可用

g_data_input_stream_read_upto_finish

完成 g_data_input_stream_read_upto_async() 触发的异步调用。

自:2.24 可用

g_data_input_stream_set_byte_order

此函数为给定的 stream 设置字节顺序。接下来从 stream 中读取的所有内容均将按照给定的 order 读取。

g_data_input_stream_set_newline_type

stream 设置换行符类型。

GBufferedInputStream (9) 继承的方法
g_buffered_input_stream_fill

尝试从流中读取 count 字节到缓冲区中。在此读取过程中将阻塞。

g_buffered_input_stream_fill_async

异步读取数据到 stream 的缓冲区中,最大为 count 字节。io_priority 可用于设置读取的优先级。有关此函数的同步版本,请参阅 g_buffered_input_stream_fill()

g_buffered_input_stream_fill_finish

完成异步读取。

g_buffered_input_stream_get_available

获取流中可用数据的字节数。

g_buffered_input_stream_get_buffer_size

获取输入缓冲区的字节数。

g_buffered_input_stream_peek

从缓冲区中窥视,将大小为 count 的数据复制到 buffer,偏移 offset 字节。

g_buffered_input_stream_peek_buffer

返回包含当前可用字节的缓冲区。返回的缓冲区不得修改,并且在从流中读取或填充缓冲区时将变为无效。

g_buffered_input_stream_read_byte

尝试从流或缓冲区中读取单个字节。在此读取过程中将阻塞。

g_buffered_input_stream_set_buffer_size

stream 的内部缓冲区大小设置为 size,或设置为缓冲区中的内容大小。缓冲区永远无法调整为比当前内容更小的字节数。

GFilterInputStream (3) 继承的方法
g_filter_input_stream_get_base_stream

获取过滤器流的基本流。

g_filter_input_stream_get_close_base_stream

返回在关闭 stream 时是否将关闭基本流。

g_filter_input_stream_set_close_base_stream

设置在关闭 stream 时是否将关闭基本流。

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

请求异步读取从流中到起始于buffercount字节的缓冲区。

自:2.44

g_input_stream_read_all_finish

完成使用g_input_stream_read_all_async()启动的异步流读取操作。

自:2.44

g_input_stream_read_async

请求异步读取从流中到起始于buffercount字节的缓冲区。当操作完成时将调用callback。然后你可以调用g_input_stream_read_finish()以获取操作的结果。

g_input_stream_read_bytes

类似于g_input_stream_read(),这尝试以阻塞方式从流中读取count字节。但是,它不会读取到用户提供的缓冲区中,它将创建一个包含已读取数据的新的GBytes。这对于从语言绑定中使用可能更容易。

自:2.34

g_input_stream_read_bytes_async

请求异步读取从流中到新的GBytescount字节。当操作完成时将调用callback。然后你可以调用g_input_stream_read_bytes_finish()以获取操作的结果。

自:2.34

g_input_stream_read_bytes_finish

完成异步流读取到 GBytes 操作。

自: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’) 字节进行扩展。

属性

Gio.DataInputStream:byte-order

当从流中读取多字节实体(如整数)时,:byte-order 属性确定所使用的字节顺序。

Gio.DataInputStream:newline-type

当从流中读取完成的行时,:newline-type 属性确定什么被看作行结束。

GBufferedInputStream 继承的属性 (1)
Gio.BufferedInputStream:buffer-size

后端缓冲区的大小(以字节为单位)。

GFilterInputStream 继承的属性 (2)
Gio.FilterInputStream:base-stream

将执行 I/O 操作的基本基础流。

Gio.FilterInputStream:close-base-stream

关闭滤波器流时,是否应关闭基础流。

信号

GObject 继承的信号 (1)
GObject::notify

当对象通过 g_object_set_property()、g_object_set() 等方式对其某个属性值进行设置时,会发出 notify 信号。

类结构

struct GioDataInputStreamClass {
  GBufferedInputStreamClass parent_class;
  void (* _g_reserved1) (
void
  );
  void (* _g_reserved2) (
void
  );
  void (* _g_reserved3) (
void
  );
  void (* _g_reserved4) (
void
  );
  void (* _g_reserved5) (
void
  );
  
}

无可用描述。

类成员
parent_class: GBufferedInputStreamClass

无可用描述。

_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 )

无可用描述。