类
Gio文件枚举器
描述 [src]
class Gio.FileEnumerator : GObject.Object
{
/* No available fields */
}
文件枚举器
允许您操作一组 文件
对象,为每个枚举的文件返回一个 文件信息
结构(例如,g_file_enumerate_children()
将为目录中的每个子项返回一个 文件枚举器
)。
要从 文件枚举器
中获取下一个文件的详细信息,请使用 g_file_enumerator_next_file()
或其异步版本,g_file_enumerator_next_files_async()
。请注意,异步版本将返回一个 文件信息
对象的列表,而同步版本将只返回枚举器中的下一个文件。
对于非Unix平台,返回文件的顺序是不确定的;有关更多信息,请参阅 g_dir_read_name()
。在Unix上,在本地文件上操作时,返回的文件将按inode编号排序。实际上,如果目录未更改,可以假设连续调用(和应用程序)之间返回文件顺序将是稳定的。
如果您的应用程序需要特定的顺序,如按名称或修改时间,则必须在您的应用程序代码中实现此功能。
要关闭 文件枚举器
,请使用 g_file_enumerator_close()
,或其异步版本,g_file_enumerator_close_async()
。一旦关闭 文件枚举器
,就不能再对其进行任何操作,并且应使用 g_object_unref()
释放。
实例方法
g_file_enumerator_get_child
返回一个新的 GFile
对象,该对象指向 enumerator
的源目录中由 info
命名的文件。此函数主要用于在循环中配合 g_file_enumerator_next_file() 使用。
since: 2.36
g_file_enumerator_iterate
这是 g_file_enumerator_next_file()
的一个版本,更适合在 C 程序中正确使用。使用 g_file_enumerator_next_file(),返回的 gboolean
值表示“迭代结束或错误”,需要分配一个临时的 GError
。
since: 2.44
g_file_enumerator_next_file
返回枚举对象中的下一个文件的详细信息。将在信息可用之前阻塞。此函数返回的 GFileInfo
将包含与创建 GFileEnumerator
时传入的属性字符串匹配的属性。
信号
从 GObject 继承的信号(1)
GObject::notify
当对象的某个属性通过 g_object_set_property()、g_object_set() 等设置值时,会发射此信号。
类结构
struct GioFileEnumeratorClass {
GObjectClass parent_class;
GFileInfo* (* next_file) (
GFileEnumerator* enumerator,
GCancellable* cancellable,
GError** error
);
gboolean (* close_fn) (
GFileEnumerator* enumerator,
GCancellable* cancellable,
GError** error
);
void (* next_files_async) (
GFileEnumerator* enumerator,
int num_files,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
GList* (* next_files_finish) (
GFileEnumerator* enumerator,
GAsyncResult* result,
GError** error
);
void (* close_async) (
GFileEnumerator* enumerator,
int io_priority,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
gboolean (* close_finish) (
GFileEnumerator* enumerator,
GAsyncResult* result,
GError** error
);
void (* _g_reserved1) (
void
);
void (* _g_reserved2) (
void
);
void (* _g_reserved3) (
void
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
void (* _g_reserved6) (
void
);
void (* _g_reserved7) (
void
);
}
无描述。
类成员
parent_class: GObjectClass
无描述。
next_file: GFileInfo* (* next_file) ( GFileEnumerator* enumerator, GCancellable* cancellable, GError** error )
无描述。
close_fn: gboolean (* close_fn) ( GFileEnumerator* enumerator, GCancellable* cancellable, GError** error )
无描述。
next_files_async: void (* next_files_async) ( GFileEnumerator* enumerator, int num_files, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
无描述。
next_files_finish: GList* (* next_files_finish) ( GFileEnumerator* enumerator, GAsyncResult* result, GError** error )
无描述。
close_async: void (* close_async) ( GFileEnumerator* enumerator, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
无描述。
close_finish: gboolean (* close_finish) ( GFileEnumerator* enumerator, 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 )
无描述。
_g_reserved6: void (* _g_reserved6) ( void )
无描述。
_g_reserved7: void (* _g_reserved7) ( void )
无描述。
虚拟方法
Gio.FileEnumeratorClass.next_file
返回枚举对象中的下一个文件的详细信息。将在信息可用之前阻塞。此函数返回的 GFileInfo
将包含与创建 GFileEnumerator
时传入的属性字符串匹配的属性。