接口

Gio文件

说明 [源]

interface Gio.File : GObject.Object

GFile 是在虚拟文件系统上操作文件的高级抽象。 GFile 是轻量级、不可变的对象,在创建时不会进行I/O操作。必须理解的是, GFile 对象不代表文件,而仅仅是文件的标识符。所有文件内容的I/O都实现为流操作(参见 GInputStream GOutputStream)。

要构建一个 GFile,你可以

GFile 理解为一个路径名的抽象的一种方式。对于普通文件,系统路径名是其内部存储的内容,但鉴于 GFile 具有可扩展性,它也可能对应于文件系统用户空间实现中的路径名。

GFile 构成与文件系统上的文件相对应的目录和文件的层次结构。您可以使用 GFile 在文件系统中导航,使用 g_file_get_parent() 获取父目录的标识符,使用 g_file_get_child() 在目录中获取一个子项,并使用 g_file_resolve_relative_path() 解决两个 GFile 之间的相对路径。可以有多个层次结构,因此,如果您在不同的文件上反复调用 g_file_get_parent(),您可能不会结束在相同的根目录中。

所有 GFile 都有一个基本名(通过 g_file_get_basename() 获取)。这些名称是字节字符串,用于在文件系统中标识文件(相对于其父目录),并且无法保证它们有任何特定的字符集编码,甚至可能没有任何意义。如果您想在用户界面上使用文件名,应使用通过请求 G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME 属性而获取的显示名,通过 g_file_query_info()。这保证了它将在 UTF-8 编码,可以在用户界面中使用。但始终存储真正的 basename 或 GFile 以实际访问文件,因为无法从显示名直接转到实际名称。

GFile 作为标识符具有与使用路径相同的弱点,即同一文件可能有多个别名。例如,硬连接或软连接可能导致两个不同的 GFile 引用同一文件。其他可能引起别名的原因包括:不区分大小写的文件系统,FAT/NTFS 上的短名和长名,或 Linux 中的绑定挂载。如果您想检查两个 GFile 是否指向同一文件,可以查询 G_FILE_ATTRIBUTE_ID_FILE 属性。请注意,GFile 对传入的路径名进行了一些简单的规范化,因此创建时路径字符串中的简单差异(重复的反斜杠、路径末尾的反斜杠、... 路径段等)不会创建不同的 GFile

许多 GFile 操作都有同步和异步版本,以满足您的应用程序需求。异步版本通过在函数名称后附加 _async() 来简单地替换同步函数。异步 I/O 函数调用一个 GAsyncReadyCallback,然后用它来最终完成操作,产生一个 GAsyncResult,然后将其传递给函数的匹配 _finish() 操作。

在共享主循环(如应用程序的主线程)中运行时,强烈建议使用异步调用。这可以避免 I/O 操作阻塞主循环中其他源的调度。应从工作线程中执行同步 I/O 操作。有关更多信息,请参阅异步编程简介部分

某些 GFile 操作几乎总是需要明显的时间,因此没有同步对应项。显著的例子包括

实体标签

《GFile》的一个显著特性是实体标签,简称‘etags’。实体标签类似于传统 mtime 的更抽象版本,可以用于快速确定文件是否已被修改。有关 HTTP 1.1 中 HTTP ETag 报头规范的详细信息,请参阅规范,这是一个非常相似的概念。

先决条件

为了实现 File,您必须使您的类型从GObject 继承。

功能

g_file_new_build_filename

使用正确的文件分隔符从一系列元素中构建一个 GFile

自:2.56

g_file_new_build_filenamev

使用正确的文件分隔符从元素向量中构建一个 GFile

自:2.78

g_file_new_for_commandline_arg

使用命令行参数创建一个 GFile。参数 arg 可以是一个 URI、绝对路径或相对于当前工作目录的相对路径。此操作永远不会失败,但如果 arg 指向一个格式错误的路径,则返回的对象可能不支持任何 I/O 操作。

g_file_new_for_commandline_arg_and_cwd

使用命令行参数创建一个 GFile

自:2.36

g_file_new_for_path

为给定的路径构建一个 GFile。此操作永远不会失败,但如果 path 格式错误,则返回的对象可能不支持任何 I/O 操作。

g_file_new_for_uri

为给定的 URI 构建 GFile。此操作永远不会失败,但如果 uri 格式错误或 uri 类型不受支持,则返回的对象可能不支持任何 I/O 操作。

g_file_new_tmp

在临时文件首选目录(由 g_get_tmp_dir() 返回)中打开一个文件,并返回一个指向该文件的 GFileGFileIOStream

自:2.32

g_file_new_tmp_async

异步地以 g_file_new_tmp() 的方式在临时文件首选目录(由 g_get_tmp_dir() 返回)中打开文件。

自:2.74

g_file_new_tmp_dir_async

异步地以 g_dir_make_tmp() 的方式在临时文件首选目录(由 g_get_tmp_dir() 返回)中创建目录。

自:2.74

g_file_new_tmp_dir_finish

完成由 g_file_new_tmp_dir_async() 开始的临时目录创建。

自:2.74

g_file_new_tmp_finish

完成由 g_file_new_tmp_async() 开始的临时文件创建。

自:2.74

g_file_parse_name

使用给定的 parse_name(即由 g_file_get_parse_name() 给出的)构建一个 GFile。此操作永远不会失败,但如果 parse_name 无法解析,则返回的对象可能不支持任何 I/O 操作。

实例方法

g_file_append_to

获取一个输出流以向文件附加数据。如果文件尚不存在,则创建它。

g_file_append_to_async

异步地打开 file 用于附加。

g_file_append_to_finish

完成用 g_file_append_to_async() 开始的异步文件附加操作。

g_file_build_attribute_list_for_copy

为将文件属性复制到 file 而准备文件属性查询字符串。

自:2.68

g_file_copy

将文件 source 复制到由 destination 指定的位置。不能处理目录的递归复制。

g_file_copy_async

异步地将文件 source 复制到由 destination 指定的位置。有关行为详情,请参阅 g_file_copy()。

g_file_copy_async_with_closures

使用闭包而非回调版本的 g_file_copy_async(),以便于在其他语言中绑定。

自:2.82

g_file_copy_attributes

source 中的文件属性复制到 destination

g_file_copy_finish

完成使用 g_file_copy_async() 开始的文件复制操作。

g_file_create

创建一个新文件并返回写入此文件的输出流。该文件必须不存在。

g_file_create_async

异步创建一个新文件并返回写入此文件的输出流。该文件必须不存在。

g_file_create_finish

完成使用g_file_create_async()开始的异步文件创建操作。

g_file_create_readwrite

创建一个新文件并返回用于读取和写入此文件的流。该文件必须不存在。

since: 2.22

g_file_create_readwrite_async

异步创建一个新文件并返回用于读取和写入此文件的流。该文件必须不存在。

since: 2.22

g_file_create_readwrite_finish

完成使用g_file_create_readwrite_async()开始的异步文件创建操作。

since: 2.22

g_file_delete

删除文件。如果file是目录,只有当它是空的时候才会被删除。此操作与g_unlink()具有相同的语义。

g_file_delete_async

异步删除文件。如果file是目录,只有当它是空的时候才会被删除。此操作与g_unlink()具有相同的语义。

since: 2.34

g_file_delete_finish

完成使用g_file_delete_async()开始的删除文件操作。

since: 2.34

g_file_dup

复制一个GFile句柄。此操作不会复制由GFile表示的实际文件或目录;如果尝试复制文件,请参阅g_file_copy()。

g_file_eject_mountable

在可卸载设备上启动异步弹出操作。当此操作完成时,会通过callback调用带有user_user数据的操作,并且可以通过g_file_eject_mountable_finish()最终化操作。

已弃用:2.22 

g_file_eject_mountable_finish

完成由g_file_eject_mountable()开始的异步弹出操作。

已弃用:2.22 

g_file_eject_mountable_with_operation

在可卸载设备上启动异步弹出操作。当此操作完成时,会调用带有user_user数据的回调,并且可以通过g_file_eject_mountable_with_operation_finish()最终化操作。

since: 2.22

g_file_eject_mountable_with_operation_finish

完成由g_file_eject_mountable_with_operation()开始的异步弹出操作。

since: 2.22

g_file_enumerate_children

获取目录中文件的请求信息。结果是一个GFileEnumerator对象,将为目录中的所有文件提供GFileInfo对象。

g_file_enumerate_children_async

异步获取目录中文件的请求信息。结果是GFileEnumerator对象,将为目录中的所有文件提供GFileInfo对象。

g_file_enumerate_children_finish

完成异步枚举子项操作。请参阅g_file_enumerate_children_async()。

g_file_equal

检查两个给定的GFiles是否引用了同一个文件。

g_file_find_enclosing_mount

获取GFile的GMount。

g_file_find_enclosing_mount_async

异步获取文件的挂载点。

g_file_find_enclosing_mount_finish

完成异步查找挂载点请求。请参阅g_file_find_enclosing_mount_async()。

g_file_get_basename

获取给定GFile的基础名称(路径的最后一个组件)。

g_file_get_child

获取包含basename等于name的子file。

g_file_get_child_for_display_name

获取给定 display_namefile 的子项(即名称的 UTF-8 版本)。如果该函数失败,则返回 NULL,并且 error 将被设置。这在构造新文件的 GFile 时非常有用,例如,当用户在用户界面中输入文件名时,例如选择一个目录并在文件选择器中输入文件名。

g_file_get_parent

获取 file 的父目录。如果 file 代表文件系统的根目录,则返回 NULL

g_file_get_parse_name

获取 file 的解析名称。解析名称是一个 UTF-8 字符串,用于描述文件,以便可以使用 g_file_parse_name() 获取 GFile。)

g_file_get_path

如果存在,获取 GFile 的本地路径名。如果非 NULL,则保证它是一个绝对、规范路径。它可能包含符号链接。

g_file_get_relative_path

获取相对于 parentdescendant 路径。

g_file_get_uri

获取 fileURI

g_file_get_uri_scheme

获取 GFileURI 方案。按照 RFC 3986,方案被解码为

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

常见的方案包括“文件”、“http”、“ftp”等。

g_file_has_parent

检查 file 是否有父项,以及是否为 parent

自:2.24

g_file_has_prefix

检查 file 是否具有由 prefix 指定的前缀。

g_file_has_uri_scheme

检查 GFile 是否具有给定的 URI 方案。

g_file_hash

GFile 创建一个哈希值。

g_file_is_native

检查一个文件是否是平台本地的。

g_file_load_bytes

加载 file 的内容,并将其作为 GBytes 返回。

自:2.56

g_file_load_bytes_async

异步加载 file 的内容作为 GBytes

自:2.56

g_file_load_bytes_finish

完成对 g_file_load_bytes_async() 的异步请求。

自:2.56

g_file_load_contents

将文件内容加载到内存中。数据始终以零结尾,但不包括在结果的 length 中。返回的 contents 应该在不再需要时使用 g_free() 释放。

g_file_load_contents_async

开始异步加载文件内容。

g_file_load_contents_finish

完成对文件内容的异步加载。内容存储在 contents 中,而 length 被设置为内容字符串的大小。当不再需要时,应使用 g_free() 释放 contents。如果 etag_out 存在,它将设置为文件的新实体标记。

g_file_load_partial_contents_async

读取文件的部分内容。应该使用 GFileReadMoreCallback 在适当的时候停止从文件中读取,否则此函数的行为将与 g_file_load_contents_async() 完全相同。可以通过 g_file_load_partial_contents_finish() 完成此操作。

g_file_load_partial_contents_finish

完成使用 g_file_load_partial_contents_async() 启动的异步部分加载操作。数据始终以零结尾,但不包括在结果 length 中。返回的 contents 在不再需要时应该使用 g_free() 释放。

g_file_make_directory

创建一个目录。注意,这只会创建路径或GFile给出的URI的父目录下的子目录。要递归创建目录,请查看g_file_make_directory_with_parents()。如果父目录不存在,则该函数会失败,将error设置为G_IO_ERROR_NOT_FOUND。如果文件系统不支持创建目录,则此函数会失败,将error设置为G_IO_ERROR_NOT_SUPPORTED

g_file_make_directory_async

异步创建目录。

自:2.38

g_file_make_directory_finish

完成异步目录创建,该创建是通过g_file_make_directory_async()启动的。

自:2.38

g_file_make_directory_with_parents

创建一个目录以及可能不存在的父目录,类似于'mkdir -p'。如果文件系统不支持创建目录,则此函数会失败,将error设置为G_IO_ERROR_NOT_SUPPORTED。如果目录本身已存在,则该函数会失败,将error设置为G_IO_ERROR_EXISTS,与g_mkdir_with_parents()类似。

自:2.18

g_file_make_symbolic_link

创建一个名为file的符号链接,该链接包含字符串symlink_value

g_file_make_symbolic_link_async

异步创建一个名为file的符号链接,该链接包含字符串symlink_value

自:2.74

g_file_make_symbolic_link_finish

完成异步符号链接创建,该创建是通过g_file_make_symbolic_link_async()启动的。

自:2.74

g_file_measure_disk_usage

递归地测量file的磁盘使用情况。

自:2.38

g_file_measure_disk_usage_async

递归地测量file的磁盘使用情况。

自:2.38

g_file_measure_disk_usage_finish

从早前的调用g_file_measure_disk_usage_async()中收集结果。有关更多信息,请参阅g_file_measure_disk_usage()

自:2.38

g_file_monitor

获取给定文件或目录的监控器,根据文件类型而定。

自:2.18

g_file_monitor_directory

获取指定文件的目录监控器。如果目录监控不被支持,可能会失败。

g_file_monitor_file

获取指定文件的文件监控器。如果没有文件通知机制,则使用常规的轮询。

g_file_mount_enclosing_volume

开始一个mount_operation,将包含文件location的卷挂载。

g_file_mount_enclosing_volume_finish

完成由g_file_mount_enclosing_volume()启动的挂载操作。

g_file_mount_mountable

挂载一个类型为G_FILE_TYPE_MOUNTABLE的文件。使用mount_operation,可以在需要密码进行身份验证时请求回调。

g_file_mount_mountable_finish

完成挂载操作。有关详细信息,请参阅g_file_mount_mountable()

g_file_move

尝试将文件或目录source移动到由destination指定的位置。如果支持本地移动操作,则使用它,否则使用复制删除的回退机制。本地实现可能支持移动目录(例如在同一文件系统中移动),但回退代码不支持。

g_file_move_async

异步将文件source移动到destination的位置。有关行为详情,请参阅g_file_move()

自:2.72

g_file_move_async_with_closures

g_file_move_async()的版本,使用闭包而不是回调,以便在其它语言中更容易绑定。

自:2.82

g_file_move_finish

完成异步文件移动,该移动是通过g_file_move_async()启动的。

自:2.72

g_file_open_readwrite

打开现有文件进行读写。结果是一个可用来读写文件内容的 GFileIOStream

since: 2.22

g_file_open_readwrite_async

异步打开 file 进行读写。

since: 2.22

g_file_open_readwrite_finish

完成异步读写操作,该操作是由 g_file_open_readwrite_async() 启动的。

since: 2.22

g_file_peek_path

与 g_file_get_path() 类似,但通过 g_object_set_qdata_full() 缓存结果。这适用于例如在 C 应用程序中,将 g_file_* API 与本地 API 混合使用的场景。它还可以避免重复字符串,因此通常更高效。

自:2.56

g_file_poll_mountable

轮询类型为 G_FILE_TYPE_MOUNTABLE 的文件。

since: 2.22

g_file_poll_mountable_finish

完成轮询操作。有关详细信息,请参阅 g_file_poll_mountable()

since: 2.22

g_file_query_default_handler

返回注册为默认应用程序以处理由 file 指定的文件的 GAppInfo

g_file_query_default_handler_async

g_file_query_default_handler() 的异步版本。

since: 2.60

g_file_query_default_handler_finish

完成 g_file_query_default_handler_async() 操作。

since: 2.60

g_file_query_exists

实用函数,用于检查特定文件是否存在。

g_file_query_file_type

实用函数,用于检查文件的成本型。这是通过 g_file_query_info() 实现的,因此本身支持阻塞 I/O。

自:2.18

g_file_query_filesystem_info

类似于 g_file_query_info(),但获取有关文件所在文件系统的信息,而不是文件本身。例如,可用的空间量以及文件系统类型。

g_file_query_filesystem_info_async

异步获取关于指定 file 所在文件系统的请求信息。结果是一个包含键值属性的 GFileInfo 对象(如文件类型或大小)。

g_file_query_filesystem_info_finish

完成异步文件系统信息查询。请参阅 g_file_query_filesystem_info_async()。

g_file_query_info

获取指定 file 的请求信息。结果是一个包含键值属性的 GFileInfo 对象(例如文件类型或大小)。

g_file_query_info_async

异步获取指定 file 的请求信息。结果是一个包含键值属性的 GFileInfo 对象(例如类型或大小)。

g_file_query_info_finish

完成异步信息查询。请参阅 g_file_query_info_async()。

g_file_query_settable_attributes

获取文件的可设置属性列表。

g_file_query_writable_namespaces

获取可由用户创建新属性的空间属性列表。例如,扩展属性(在“xattr”命名空间中)。

g_file_read

打开文件进行读取。结果是可用来读取文件内容的 GFileInputStream

g_file_read_async

异步打开 file 进行读取。

g_file_read_finish

完成异步文件读取操作,该操作是由 g_file_read_async() 启动的。

g_file_replace

返回用于覆盖文件的输出流,可能首先创建文件备份。如果文件不存在,则创建该文件。

g_file_replace_async

异步覆盖文件,可能首先创建文件备份。

g_file_replace_contents

用长度为 length 字节的 contents 替换 file 的内容。

g_file_replace_contents_async

开始使用给定的 contents 进一步异步替换 file,长度为 length 字节。 etag 将替换文档的当前实体标签。

g_file_replace_contents_bytes_async

g_file_replace_contents_async() 相同,但使用 GBytes 作为输入。此函数在操作完成之前将保持对 contents 的引用。与 g_file_replace_contents_async() 不同,这允许在不等待回调的情况下忘记内容。

since: 2.40

g_file_replace_contents_finish

完成给定 file 的异步替换操作。参见 g_file_replace_contents_async()。如果存在,将 new_etag 设置为文档的新实体标签。

g_file_replace_finish

完成使用 g_file_replace_async() 启动的异步文件替换操作。

g_file_replace_readwrite

返回用于以读写模式覆盖文件的输出流,可能首先创建文件备份。如果文件不存在,则将其创建。

since: 2.22

g_file_replace_readwrite_async

异步以读写模式覆盖文件,替换内容,可能首先创建文件备份。

since: 2.22

g_file_replace_readwrite_finish

完成使用 g_file_replace_readwrite_async() 启动的异步文件替换操作。

since: 2.22

g_file_resolve_relative_path

将相对于 file 的相对路径解析为绝对路径。

g_file_set_attribute

将在文件中设置具有属性名称 attribute 的属性为 value_p

g_file_set_attribute_byte_string

将类型为 G_FILE_ATTRIBUTE_TYPE_BYTE_STRINGattribute 设置为 value。如果 attribute 是不同类型,此操作将失败,返回 FALSE

g_file_set_attribute_int32

将类型为 G_FILE_ATTRIBUTE_TYPE_INT32attribute 设置为 value。如果 attribute 是不同类型,此操作将失败。

g_file_set_attribute_int64

将类型为 G_FILE_ATTRIBUTE_TYPE_INT64attribute 设置为 value。如果 attribute 是不同类型,此操作将失败。

g_file_set_attribute_string

将类型为 G_FILE_ATTRIBUTE_TYPE_STRINGattribute 设置为 value。如果 attribute 是不同类型,此操作将失败。

g_file_set_attribute_uint32

将类型为 G_FILE_ATTRIBUTE_TYPE_UINT32attribute 设置为 value。如果 attribute 是不同类型,此操作将失败。

g_file_set_attribute_uint64

将类型为 G_FILE_ATTRIBUTE_TYPE_UINT64attribute 设置为 value。如果 attribute 是不同类型,此操作将失败。

g_file_set_attributes_async

异步使用 info 设置 file 的属性。

g_file_set_attributes_finish

完成使用 g_file_set_attributes_async() 启动的属性设置。

g_file_set_attributes_from_info

尝试在目标值上设置所有 GFileInfo 中的属性,不会在出现第一个错误时停止。

g_file_set_display_name

file 重命名为指定的显示名称。

g_file_set_display_name_async

异步设置给定的 GFile 的显示名称。

g_file_set_display_name_finish

完成使用 g_file_set_display_name_async() 启动的显示名称设置。

g_file_start_mountable

开始一个类型为 G_FILE_TYPE_MOUNTABLE 的文件。使用 start_operation,您可以在需要时请求密码等回调。

since: 2.22

g_file_start_mountable_finish

完成启动操作。有关详细信息,请参阅 g_file_start_mountable()

since: 2.22

g_file_stop_mountable

停止类型为 G_FILE_TYPE_MOUNTABLE 的文件。

since: 2.22

g_file_stop_mountable_finish

完成停止操作,有关详细信息,请参阅 g_file_stop_mountable()

since: 2.22

g_file_supports_thread_contexts

检查 file 是否支持 [thread-default contexts][g-main-context-push-thread-default-context]。如果此返回 FALSE,则在具有线程默认上下文的线程中无法对 file 执行异步操作。

since: 2.22

g_file_trash

如果可能,则将文件file发送到“垃圾桶”。这与删除类似,但用户可以在清空垃圾桶之前恢复它。默认情况下,系统挂载禁用垃圾箱。请参阅g_unix_mount_entry_is_system_internal()(). 因此,此调用可以返回错误G_IO_ERROR_NOT_SUPPORTED。自GLib 2.66以来,可以通过x-gvfs-notrash Unix挂载选项禁用特定挂载对g_file_trash()的支持,此时将返回错误G_IO_ERROR_NOT_SUPPORTED。从2.82版开始,可以使用x-gvfs-trash Unix挂载选项为特定系统挂载启用对g_file_trash()的支持。

g_file_trash_async

异步将文件file发送到垃圾桶位置,如果可能。

自:2.38

g_file_trash_finish

完成一个异步文件垃圾操作,该操作是通过g_file_trash_async()开始的。

自:2.38

g_file_unmount_mountable

卸载类型为G_FILE_TYPE_MOUNTABLE的文件。

已弃用:2.22 

g_file_unmount_mountable_finish

完成卸载操作,详情请参见g_file_unmount_mountable()

已弃用:2.22 

g_file_unmount_mountable_with_operation

卸载类型为G_FILE_TYPE_MOUNTABLE的文件。

since: 2.22

g_file_unmount_mountable_with_operation_finish

完成卸载操作,详情请参见g_file_unmount_mountable_with_operation()

since: 2.22

接口结构体

struct GioFileIface {
  GTypeInterface g_iface;
  GFile* (* dup) (
    GFile* file
  );
  guint (* hash) (
    GFile* file
  );
  gboolean (* equal) (
    GFile* file1,
    GFile* file2
  );
  gboolean (* is_native) (
    GFile* file
  );
  gboolean (* has_uri_scheme) (
    GFile* file,
    const char* uri_scheme
  );
  char* (* get_uri_scheme) (
    GFile* file
  );
  char* (* get_basename) (
    GFile* file
  );
  char* (* get_path) (
    GFile* file
  );
  char* (* get_uri) (
    GFile* file
  );
  char* (* get_parse_name) (
    GFile* file
  );
  GFile* (* get_parent) (
    GFile* file
  );
  gboolean (* prefix_matches) (
    GFile* prefix,
    GFile* file
  );
  char* (* get_relative_path) (
    GFile* parent,
    GFile* descendant
  );
  GFile* (* resolve_relative_path) (
    GFile* file,
    const char* relative_path
  );
  GFile* (* get_child_for_display_name) (
    GFile* file,
    const char* display_name,
    GError** error
  );
  GFileEnumerator* (* enumerate_children) (
    GFile* file,
    const char* attributes,
    GFileQueryInfoFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  void (* enumerate_children_async) (
    GFile* file,
    const char* attributes,
    GFileQueryInfoFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileEnumerator* (* enumerate_children_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFileInfo* (* query_info) (
    GFile* file,
    const char* attributes,
    GFileQueryInfoFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  void (* query_info_async) (
    GFile* file,
    const char* attributes,
    GFileQueryInfoFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileInfo* (* query_info_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFileInfo* (* query_filesystem_info) (
    GFile* file,
    const char* attributes,
    GCancellable* cancellable,
    GError** error
  );
  void (* query_filesystem_info_async) (
    GFile* file,
    const char* attributes,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileInfo* (* query_filesystem_info_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GMount* (* find_enclosing_mount) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  );
  void (* find_enclosing_mount_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GMount* (* find_enclosing_mount_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFile* (* set_display_name) (
    GFile* file,
    const char* display_name,
    GCancellable* cancellable,
    GError** error
  );
  void (* set_display_name_async) (
    GFile* file,
    const char* display_name,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFile* (* set_display_name_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFileAttributeInfoList* (* query_settable_attributes) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  );
  void (* _query_settable_attributes_async) (
void
  );
  void (* _query_settable_attributes_finish) (
void
  );
  GFileAttributeInfoList* (* query_writable_namespaces) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  );
  void (* _query_writable_namespaces_async) (
void
  );
  void (* _query_writable_namespaces_finish) (
void
  );
  gboolean (* set_attribute) (
    GFile* file,
    const char* attribute,
    GFileAttributeType type,
    gpointer value_p,
    GFileQueryInfoFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  gboolean (* set_attributes_from_info) (
    GFile* file,
    GFileInfo* info,
    GFileQueryInfoFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  void (* set_attributes_async) (
    GFile* file,
    GFileInfo* info,
    GFileQueryInfoFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* set_attributes_finish) (
    GFile* file,
    GAsyncResult* result,
    GFileInfo** info,
    GError** error
  );
  GFileInputStream* (* read_fn) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  );
  void (* read_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileInputStream* (* read_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFileOutputStream* (* append_to) (
    GFile* file,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  void (* append_to_async) (
    GFile* file,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileOutputStream* (* append_to_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFileOutputStream* (* create) (
    GFile* file,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  void (* create_async) (
    GFile* file,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileOutputStream* (* create_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFileOutputStream* (* replace) (
    GFile* file,
    const char* etag,
    gboolean make_backup,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  void (* replace_async) (
    GFile* file,
    const char* etag,
    gboolean make_backup,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileOutputStream* (* replace_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  gboolean (* delete_file) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  );
  void (* delete_file_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* delete_file_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  gboolean (* trash) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  );
  void (* trash_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* trash_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  gboolean (* make_directory) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  );
  void (* make_directory_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* make_directory_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  gboolean (* make_symbolic_link) (
    GFile* file,
    const char* symlink_value,
    GCancellable* cancellable,
    GError** error
  );
  void (* make_symbolic_link_async) (
    GFile* file,
    const char* symlink_value,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* make_symbolic_link_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  gboolean (* copy) (
    GFile* source,
    GFile* destination,
    GFileCopyFlags flags,
    GCancellable* cancellable,
    GFileProgressCallback progress_callback,
    gpointer progress_callback_data,
    GError** error
  );
  void (* copy_async) (
    GFile* source,
    GFile* destination,
    GFileCopyFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GFileProgressCallback progress_callback,
    gpointer progress_callback_data,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* copy_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  gboolean (* move) (
    GFile* source,
    GFile* destination,
    GFileCopyFlags flags,
    GCancellable* cancellable,
    GFileProgressCallback progress_callback,
    gpointer progress_callback_data,
    GError** error
  );
  void (* move_async) (
    GFile* source,
    GFile* destination,
    GFileCopyFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GFileProgressCallback progress_callback,
    gpointer progress_callback_data,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* move_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  void (* mount_mountable) (
    GFile* file,
    GMountMountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFile* (* mount_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  void (* unmount_mountable) (
    GFile* file,
    GMountUnmountFlags flags,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* unmount_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  void (* eject_mountable) (
    GFile* file,
    GMountUnmountFlags flags,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* eject_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  void (* mount_enclosing_volume) (
    GFile* location,
    GMountMountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* mount_enclosing_volume_finish) (
    GFile* location,
    GAsyncResult* result,
    GError** error
  );
  GFileMonitor* (* monitor_dir) (
    GFile* file,
    GFileMonitorFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  GFileMonitor* (* monitor_file) (
    GFile* file,
    GFileMonitorFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  GFileIOStream* (* open_readwrite) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  );
  void (* open_readwrite_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileIOStream* (* open_readwrite_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFileIOStream* (* create_readwrite) (
    GFile* file,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  void (* create_readwrite_async) (
    GFile* file,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileIOStream* (* create_readwrite_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  GFileIOStream* (* replace_readwrite) (
    GFile* file,
    const char* etag,
    gboolean make_backup,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  );
  void (* replace_readwrite_async) (
    GFile* file,
    const char* etag,
    gboolean make_backup,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileIOStream* (* replace_readwrite_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  );
  void (* start_mountable) (
    GFile* file,
    GDriveStartFlags flags,
    GMountOperation* start_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* start_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  void (* stop_mountable) (
    GFile* file,
    GMountUnmountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* stop_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  gboolean supports_thread_contexts;
  void (* unmount_mountable_with_operation) (
    GFile* file,
    GMountUnmountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* unmount_mountable_with_operation_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  void (* eject_mountable_with_operation) (
    GFile* file,
    GMountUnmountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* eject_mountable_with_operation_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  void (* poll_mountable) (
    GFile* file,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* poll_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  );
  gboolean (* measure_disk_usage) (
    GFile* file,
    GFileMeasureFlags flags,
    GCancellable* cancellable,
    GFileMeasureProgressCallback progress_callback,
    gpointer progress_data,
    guint64* disk_usage,
    guint64* num_dirs,
    guint64* num_files,
    GError** error
  );
  void (* measure_disk_usage_async) (
    GFile* file,
    GFileMeasureFlags flags,
    gint io_priority,
    GCancellable* cancellable,
    GFileMeasureProgressCallback progress_callback,
    gpointer progress_data,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* measure_disk_usage_finish) (
    GFile* file,
    GAsyncResult* result,
    guint64* disk_usage,
    guint64* num_dirs,
    guint64* num_files,
    GError** error
  );
  gboolean (* query_exists) (
    GFile* file,
    GCancellable* cancellable
  );
  
}

用于写入VFS文件句柄的接口。

接口成员
g_iface
GTypeInterface
 

父接口。

dup
GFile* (* dup) (
    GFile* file
  )
 

复制一个GFile

hash
guint (* hash) (
    GFile* file
  )
 

GFile创建一个哈希。

equal
gboolean (* equal) (
    GFile* file1,
    GFile* file2
  )
 

检查两个给定GFile是否相等。

is_native
gboolean (* is_native) (
    GFile* file
  )
 

检查文件是否是系统本地的。

has_uri_scheme
gboolean (* has_uri_scheme) (
    GFile* file,
    const char* uri_scheme
  )
 

检查 GFile 是否具有给定的 URI 方案。

get_uri_scheme
char* (* get_uri_scheme) (
    GFile* file
  )
 

获取GFile的URI方案。

get_basename
char* (* get_basename) (
    GFile* file
  )
 

获取给定GFile的基本名称。

get_path
char* (* get_path) (
    GFile* file
  )
 

获取GFile中的当前路径。

get_uri
char* (* get_uri) (
    GFile* file
  )
 

获取GFile中路径的URI。

get_parse_name
char* (* get_parse_name) (
    GFile* file
  )
 

获取GFile的解析名称。

get_parent
GFile* (* get_parent) (
    GFile* file
  )
 

获取GFile的父目录。

prefix_matches
gboolean (* prefix_matches) (
    GFile* prefix,
    GFile* file
  )
 

检查一个GFile是否包含指定的文件。

get_relative_path
char* (* get_relative_path) (
    GFile* parent,
    GFile* descendant
  )
 

获取相对于给定路径的GFile路径。

resolve_relative_path
GFile* (* resolve_relative_path) (
    GFile* file,
    const char* relative_path
  )
 

GFile的相对路径解析为绝对路径。

get_child_for_display_name
GFile* (* get_child_for_display_name) (
    GFile* file,
    const char* display_name,
    GError** error
  )
 

获取指定显示名称的子GFile

enumerate_children
GFileEnumerator* (* enumerate_children) (
    GFile* file,
    const char* attributes,
    GFileQueryInfoFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

获取一个包含一个GFile子项的GFileEnumerator

enumerate_children_async
void (* enumerate_children_async) (
    GFile* file,
    const char* attributes,
    GFileQueryInfoFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步获取一个包含一个GFile子项的GFileEnumerator

enumerate_children_finish
GFileEnumerator* (* enumerate_children_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

完成异步枚举子项。

query_info
GFileInfo* (* query_info) (
    GFile* file,
    const char* attributes,
    GFileQueryInfoFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

获取一个GFileGFileInfo信息。

query_info_async
void (* query_info_async) (
    GFile* file,
    const char* attributes,
    GFileQueryInfoFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步获取一个GFileGColumnInfo信息。

query_info_finish
GFileInfo* (* query_info_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

完成异步获取信息操作。

query_filesystem_info
GFileInfo* (* query_filesystem_info) (
    GFile* file,
    const char* attributes,
    GCancellable* cancellable,
    GError** error
  )
 

获取一个位于文件系统上的GFileInfo

query_filesystem_info_async
void (* query_filesystem_info_async) (
    GFile* file,
    const char* attributes,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步获取一个位于文件系统上的GFileInfo

query_filesystem_info_finish
GFileInfo* (* query_filesystem_info_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

完成异步获取文件系统信息。

find_enclosing_mount
GMount* (* find_enclosing_mount) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  )
 

获取GFile的GMount。

find_enclosing_mount_async
void (* find_enclosing_mount_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步获取一个GFileGMount信息。

find_enclosing_mount_finish
GMount* (* find_enclosing_mount_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

完成异步获取卷。

set_display_name
GFile* (* set_display_name) (
    GFile* file,
    const char* display_name,
    GCancellable* cancellable,
    GError** error
  )
 

设置一个GFile的显示名称。

set_display_name_async
void (* set_display_name_async) (
    GFile* file,
    const char* display_name,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步设置一个GFile的显示名称。

set_display_name_finish
GFile* (* set_display_name_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

完成异步设置GFile的显示名称。

query_settable_attributes
GFileAttributeInfoList* (* query_settable_attributes) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  )
 

返回可以设置的一组GFileAttributeInfos

_query_settable_attributes_async
void (* _query_settable_attributes_async) (
void
  )
 

异步获取一个可以设置的一组GFileAttributeInfos

_query_settable_attributes_finish
void (* _query_settable_attributes_finish) (
void
  )
 

完成异步查询可设置属性。

query_writable_namespaces
GFileAttributeInfoList* (* query_writable_namespaces) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  )
 

返回可写 attr_info 命名空间的列表。

_query_writable_namespaces_async
void (* _query_writable_namespaces_async) (
void
  )
 

异步获取可写 attr_info 命名空间的列表。

_query_writable_namespaces_finish
void (* _query_writable_namespaces_finish) (
void
  )
 

异步查询可写命名空间完成。

set_attribute
gboolean (* set_attribute) (
    GFile* file,
    const char* attribute,
    GFileAttributeType type,
    gpointer value_p,
    GFileQueryInfoFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

设置 attr_info

set_attributes_from_info
gboolean (* set_attributes_from_info) (
    GFile* file,
    GFileInfo* info,
    GFileQueryInfoFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

file_info 获取信息并设置 attr_info

set_attributes_async
void (* set_attributes_async) (
    GFile* file,
    GFileInfo* info,
    GFileQueryInfoFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步设置文件的属性。

set_attributes_finish
gboolean (* set_attributes_finish) (
    GFile* file,
    GAsyncResult* result,
    GFileInfo** info,
    GError** error
  )
 

异步设置文件属性完成。

read_fn
GFileInputStream* (* read_fn) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  )
 

异步读取文件。

read_async
void (* read_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步读取文件。

read_finish
GFileInputStream* (* read_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

异步读取文件完成。

append_to
GFileOutputStream* (* append_to) (
    GFile* file,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

写入文件的末尾。

append_to_async
void (* append_to_async) (
    GFile* file,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步写入文件的末尾。

append_to_finish
GFileOutputStream* (* append_to_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

异步文件追加操作完成。

create
GFileOutputStream* (* create) (
    GFile* file,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

创建新文件。

create_async
void (* create_async) (
    GFile* file,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步创建文件。

create_finish
GFileOutputStream* (* create_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

异步创建文件完成。

replace
GFileOutputStream* (* replace) (
    GFile* file,
    const char* etag,
    gboolean make_backup,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

替换文件内容。

replace_async
void (* replace_async) (
    GFile* file,
    const char* etag,
    gboolean make_backup,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步替换文件内容。

replace_finish
GFileOutputStream* (* replace_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

异步替换文件完成。

delete_file
gboolean (* delete_file) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  )
 

删除文件。

delete_file_async
void (* delete_file_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步删除文件。

delete_file_finish
gboolean (* delete_file_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

异步删除完成。

trash
gboolean (* trash) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  )
 

file 发送到回收站位置。

trash_async
void (* trash_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步将 file 发送到回收站位置。

trash_finish
gboolean (* trash_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

异步文件回收完成。

make_directory
gboolean (* make_directory) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  )
 

创建目录。

make_directory_async
void (* make_directory_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步创建目录。

make_directory_finish
gboolean (* make_directory_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

异步创建目录完成。

make_symbolic_link
gboolean (* make_symbolic_link) (
    GFile* file,
    const char* symlink_value,
    GCancellable* cancellable,
    GError** error
  )
 

创建符号链接。如果不支持符号链接,则返回 NULL

make_symbolic_link_async
void (* make_symbolic_link_async) (
    GFile* file,
    const char* symlink_value,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步创建符号链接。

make_symbolic_link_finish
gboolean (* make_symbolic_link_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

异步创建符号链接完成。

copy
gboolean (* copy) (
    GFile* source,
    GFile* destination,
    GFileCopyFlags flags,
    GCancellable* cancellable,
    GFileProgressCallback progress_callback,
    gpointer progress_callback_data,
    GError** error
  )
 

复制文件。如果不支持复制,则返回 NULL,这将导致 file 使用回退复制方法从源读取并写入目标。

copy_async
void (* copy_async) (
    GFile* source,
    GFile* destination,
    GFileCopyFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GFileProgressCallback progress_callback,
    gpointer progress_callback_data,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步复制文件。

copy_finish
gboolean (* copy_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

异步复制完成。

move
gboolean (* move) (
    GFile* source,
    GFile* destination,
    GFileCopyFlags flags,
    GCancellable* cancellable,
    GFileProgressCallback progress_callback,
    gpointer progress_callback_data,
    GError** error
  )
 

移动文件。

move_async
void (* move_async) (
    GFile* source,
    GFile* destination,
    GFileCopyFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GFileProgressCallback progress_callback,
    gpointer progress_callback_data,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步移动文件。自 2.72 版起。

move_finish
gboolean (* move_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

异步移动操作完成。自 2.72 版起。

mount_mountable
void (* mount_mountable) (
    GFile* file,
    GMountMountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

挂载可挂载对象。

mount_mountable_finish
GFile* (* mount_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

挂载完成。

unmount_mountable
void (* unmount_mountable) (
    GFile* file,
    GMountUnmountFlags flags,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

卸载可挂载对象。

unmount_mountable_finish
gboolean (* unmount_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

卸载完成。

eject_mountable
void (* eject_mountable) (
    GFile* file,
    GMountUnmountFlags flags,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

弹出可挂载对象。

eject_mountable_finish
gboolean (* eject_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

弹出操作完成。

mount_enclosing_volume
void (* mount_enclosing_volume) (
    GFile* location,
    GMountMountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

挂载指定位置。

mount_enclosing_volume_finish
gboolean (* mount_enclosing_volume_finish) (
    GFile* location,
    GAsyncResult* result,
    GError** error
  )
 

挂载指定位置完成。

monitor_dir
GFileMonitor* (* monitor_dir) (
    GFile* file,
    GFileMonitorFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

为位置创建 file_monitor

monitor_file
GFileMonitor* (* monitor_file) (
    GFile* file,
    GFileMonitorFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

为位置创建 file_monitor

open_readwrite
GFileIOStream* (* open_readwrite) (
    GFile* file,
    GCancellable* cancellable,
    GError** error
  )
 

打开文件以读写。自 2.22 版起。

open_readwrite_async
void (* open_readwrite_async) (
    GFile* file,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步打开文件以读写。自 2.22 版起。

open_readwrite_finish
GFileIOStream* (* open_readwrite_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

异步打开读写完成。自 2.22 版起。

create_readwrite
GFileIOStream* (* create_readwrite) (
    GFile* file,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

创建文件读写。自 2.22 版起。

create_readwrite_async
void (* create_readwrite_async) (
    GFile* file,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步创建读写文件。自2.22版本。

create_readwrite_finish
GFileIOStream* (* create_readwrite_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

完成异步创建读写文件。自2.22版本。

replace_readwrite
GFileIOStream* (* replace_readwrite) (
    GFile* file,
    const char* etag,
    gboolean make_backup,
    GFileCreateFlags flags,
    GCancellable* cancellable,
    GError** error
  )
 

替换文件读写。自2.22版本。

replace_readwrite_async
void (* replace_readwrite_async) (
    GFile* file,
    const char* etag,
    gboolean make_backup,
    GFileCreateFlags flags,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步替换文件读写。自2.22版本。

replace_readwrite_finish
GFileIOStream* (* replace_readwrite_finish) (
    GFile* file,
    GAsyncResult* res,
    GError** error
  )
 

完成异步替换读写文件。自2.22版本。

start_mountable
void (* start_mountable) (
    GFile* file,
    GDriveStartFlags flags,
    GMountOperation* start_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

启动可挂载对象。自2.22版本。

start_mountable_finish
gboolean (* start_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

完成启动操作。自2.22版本。

stop_mountable
void (* stop_mountable) (
    GFile* file,
    GMountUnmountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

停止挂载。自2.22版本。

stop_mountable_finish
gboolean (* stop_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

完成停止操作。自2.22版本。

supports_thread_contexts
gboolean
 

一个布尔值,表示GFile实现是否支持线程默认上下文。自2.22版本。

unmount_mountable_with_operation
void (* unmount_mountable_with_operation) (
    GFile* file,
    GMountUnmountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

使用GMountOperation卸载挂载对象。自2.22版本。

unmount_mountable_with_operation_finish
gboolean (* unmount_mountable_with_operation_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

使用GMountOperation完成卸载操作。自2.22版本。

eject_mountable_with_operation
void (* eject_mountable_with_operation) (
    GFile* file,
    GMountUnmountFlags flags,
    GMountOperation* mount_operation,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

使用GMountOperation弹出挂载对象。自2.22版本。

eject_mountable_with_operation_finish
gboolean (* eject_mountable_with_operation_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

使用GMountOperation完成弹出操作。自2.22版本。

poll_mountable
void (* poll_mountable) (
    GFile* file,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

轮询挂载对象以检查媒体更改。自2.22版本。

poll_mountable_finish
gboolean (* poll_mountable_finish) (
    GFile* file,
    GAsyncResult* result,
    GError** error
  )
 

完成媒体更改轮询操作。自2.22版本。

measure_disk_usage
gboolean (* measure_disk_usage) (
    GFile* file,
    GFileMeasureFlags flags,
    GCancellable* cancellable,
    GFileMeasureProgressCallback progress_callback,
    gpointer progress_data,
    guint64* disk_usage,
    guint64* num_dirs,
    guint64* num_files,
    GError** error
  )
 

递归计算file的磁盘使用情况。自2.38版本。

measure_disk_usage_async
void (* measure_disk_usage_async) (
    GFile* file,
    GFileMeasureFlags flags,
    gint io_priority,
    GCancellable* cancellable,
    GFileMeasureProgressCallback progress_callback,
    gpointer progress_data,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

异步递归计算file的磁盘使用情况。自2.38版本。

measure_disk_usage_finish
gboolean (* measure_disk_usage_finish) (
    GFile* file,
    GAsyncResult* result,
    guint64* disk_usage,
    guint64* num_dirs,
    guint64* num_files,
    GError** error
  )
 

完成异步递归磁盘使用情况测量。自2.38版本。

query_exists
gboolean (* query_exists) (
    GFile* file,
    GCancellable* cancellable
  )
 

查询文件是否存在。自2.84版本。

虚拟方法

Gio.File.append_to

获取一个输出流以向文件附加数据。如果文件尚不存在,则创建它。

Gio.File.append_to_async

异步地打开 file 用于附加。

Gio.File.append_to_finish

完成用 g_file_append_to_async() 开始的异步文件附加操作。

Gio.File.copy

将文件 source 复制到由 destination 指定的位置。不能处理目录的递归复制。

Gio.File.copy_async

异步地将文件 source 复制到由 destination 指定的位置。有关行为详情,请参阅 g_file_copy()。

Gio.File.copy_finish

完成使用 g_file_copy_async() 开始的文件复制操作。

Gio.File.create

创建一个新文件并返回写入此文件的输出流。该文件必须不存在。

Gio.File.create_async

异步创建一个新文件并返回写入此文件的输出流。该文件必须不存在。

Gio.File.create_finish

完成使用g_file_create_async()开始的异步文件创建操作。

Gio.File.create_readwrite

创建一个新文件并返回用于读取和写入此文件的流。该文件必须不存在。

since: 2.22

Gio.File.create_readwrite_async

异步创建一个新文件并返回用于读取和写入此文件的流。该文件必须不存在。

since: 2.22

Gio.File.create_readwrite_finish

完成使用g_file_create_readwrite_async()开始的异步文件创建操作。

since: 2.22

Gio.File.delete_file

删除文件。如果file是目录,只有当它是空的时候才会被删除。此操作与g_unlink()具有相同的语义。

Gio.File.delete_file_async

异步删除文件。如果file是目录,只有当它是空的时候才会被删除。此操作与g_unlink()具有相同的语义。

since: 2.34

Gio.File.delete_file_finish

完成使用g_file_delete_async()开始的删除文件操作。

since: 2.34

Gio.File.dup

复制一个GFile句柄。此操作不会复制由GFile表示的实际文件或目录;如果尝试复制文件,请参阅g_file_copy()。

Gio.File.eject_mountable

在可卸载设备上启动异步弹出操作。当此操作完成时,会通过callback调用带有user_user数据的操作,并且可以通过g_file_eject_mountable_finish()最终化操作。

已弃用:2.22 

Gio.File.eject_mountable_finish

完成由g_file_eject_mountable()开始的异步弹出操作。

已弃用:2.22 

Gio.File.eject_mountable_with_operation

在可卸载设备上启动异步弹出操作。当此操作完成时,会调用带有user_user数据的回调,并且可以通过g_file_eject_mountable_with_operation_finish()最终化操作。

since: 2.22

Gio.File.eject_mountable_with_operation_finish

完成由g_file_eject_mountable_with_operation()开始的异步弹出操作。

since: 2.22

Gio.File.enumerate_children

获取目录中文件的请求信息。结果是一个GFileEnumerator对象,将为目录中的所有文件提供GFileInfo对象。

Gio.File.enumerate_children_async

异步获取目录中文件的请求信息。结果是GFileEnumerator对象,将为目录中的所有文件提供GFileInfo对象。

Gio.File.enumerate_children_finish

完成异步枚举子项操作。请参阅g_file_enumerate_children_async()。

Gio.File.equal

检查两个给定的GFiles是否引用了同一个文件。

Gio.File.find_enclosing_mount

获取GFile的GMount。

Gio.File.find_enclosing_mount_async

异步获取文件的挂载点。

Gio.File.find_enclosing_mount_finish

完成异步查找挂载点请求。请参阅g_file_find_enclosing_mount_async()。

Gio.File.get_basename

获取给定GFile的基础名称(路径的最后一个组件)。

Gio.File.get_child_for_display_name

获取给定 display_namefile 的子项(即名称的 UTF-8 版本)。如果该函数失败,则返回 NULL,并且 error 将被设置。这在构造新文件的 GFile 时非常有用,例如,当用户在用户界面中输入文件名时,例如选择一个目录并在文件选择器中输入文件名。

Gio.File.get_parent

获取 file 的父目录。如果 file 代表文件系统的根目录,则返回 NULL

Gio.File.get_parse_name

获取 file 的解析名称。解析名称是一个 UTF-8 字符串,用于描述文件,以便可以使用 g_file_parse_name() 获取 GFile。)

Gio.File.get_path

如果存在,获取 GFile 的本地路径名。如果非 NULL,则保证它是一个绝对、规范路径。它可能包含符号链接。

Gio.File.get_relative_path

获取相对于 parentdescendant 路径。

Gio.File.get_uri

获取 fileURI

Gio.File.get_uri_scheme

获取 GFileURI 方案。按照 RFC 3986,方案被解码为

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

常见的方案包括“文件”、“http”、“ftp”等。

Gio.File.has_uri_scheme

检查 GFile 是否具有给定的 URI 方案。

Gio.File.hash

GFile 创建一个哈希值。

Gio.File.is_native

检查一个文件是否是平台本地的。

Gio.File.make_directory

创建一个目录。注意,这只会创建路径或GFile给出的URI的父目录下的子目录。要递归创建目录,请查看g_file_make_directory_with_parents()。如果父目录不存在,则该函数会失败,将error设置为G_IO_ERROR_NOT_FOUND。如果文件系统不支持创建目录,则此函数会失败,将error设置为G_IO_ERROR_NOT_SUPPORTED

Gio.File.make_directory_async

异步创建目录。

自:2.38

Gio.File.make_directory_finish

完成异步目录创建,该创建是通过g_file_make_directory_async()启动的。

自:2.38

创建一个名为file的符号链接,该链接包含字符串symlink_value

异步创建一个名为file的符号链接,该链接包含字符串symlink_value

自:2.74

完成异步符号链接创建,该创建是通过g_file_make_symbolic_link_async()启动的。

自:2.74

Gio.File.measure_disk_usage

递归地测量file的磁盘使用情况。

自:2.38

Gio.File.measure_disk_usage_async

递归地测量file的磁盘使用情况。

自:2.38

Gio.File.measure_disk_usage_finish

从早前的调用g_file_measure_disk_usage_async()中收集结果。有关更多信息,请参阅g_file_measure_disk_usage()

自:2.38

Gio.File.monitor_dir

获取指定文件的目录监控器。如果目录监控不被支持,可能会失败。

Gio.File.monitor_file

获取指定文件的文件监控器。如果没有文件通知机制,则使用常规的轮询。

Gio.File.mount_enclosing_volume

开始一个mount_operation,将包含文件location的卷挂载。

Gio.File.mount_enclosing_volume_finish

完成由g_file_mount_enclosing_volume()启动的挂载操作。

Gio.File.mount_mountable

挂载一个类型为G_FILE_TYPE_MOUNTABLE的文件。使用mount_operation,可以在需要密码进行身份验证时请求回调。

Gio.File.mount_mountable_finish

完成挂载操作。有关详细信息,请参阅g_file_mount_mountable()

Gio.File.move

尝试将文件或目录source移动到由destination指定的位置。如果支持本地移动操作,则使用它,否则使用复制删除的回退机制。本地实现可能支持移动目录(例如在同一文件系统中移动),但回退代码不支持。

Gio.File.move_async

异步将文件source移动到destination的位置。有关行为详情,请参阅g_file_move()

自:2.72

Gio.File.move_finish

完成异步文件移动,该移动是通过g_file_move_async()启动的。

自:2.72

Gio.File.open_readwrite

打开现有文件进行读写。结果是一个可用来读写文件内容的 GFileIOStream

since: 2.22

Gio.File.open_readwrite_async

异步打开 file 进行读写。

since: 2.22

Gio.File.open_readwrite_finish

完成异步读写操作,该操作是由 g_file_open_readwrite_async() 启动的。

since: 2.22

Gio.File.poll_mountable

轮询类型为 G_FILE_TYPE_MOUNTABLE 的文件。

since: 2.22

Gio.File.poll_mountable_finish

完成轮询操作。有关详细信息,请参阅 g_file_poll_mountable()

since: 2.22

Gio.File.prefix_matches

检查 file 是否具有由 prefix 指定的前缀。

Gio.File.query_exists

实用函数,用于检查特定文件是否存在。

Gio.File.query_filesystem_info

类似于 g_file_query_info(),但获取有关文件所在文件系统的信息,而不是文件本身。例如,可用的空间量以及文件系统类型。

Gio.File.query_filesystem_info_async

异步获取关于指定 file 所在文件系统的请求信息。结果是一个包含键值属性的 GFileInfo 对象(如文件类型或大小)。

Gio.File.query_filesystem_info_finish

完成异步文件系统信息查询。请参阅 g_file_query_filesystem_info_async()。

Gio.File.query_info

获取指定 file 的请求信息。结果是一个包含键值属性的 GFileInfo 对象(例如文件类型或大小)。

Gio.File.query_info_async

异步获取指定 file 的请求信息。结果是一个包含键值属性的 GFileInfo 对象(例如类型或大小)。

Gio.File.query_info_finish

完成异步信息查询。请参阅 g_file_query_info_async()。

Gio.File.query_settable_attributes

获取文件的可设置属性列表。

Gio.File.query_writable_namespaces

获取可由用户创建新属性的空间属性列表。例如,扩展属性(在“xattr”命名空间中)。

Gio.File.read_async

异步打开 file 进行读取。

Gio.File.read_finish

完成异步文件读取操作,该操作是由 g_file_read_async() 启动的。

Gio.File.read_fn

打开文件进行读取。结果是可用来读取文件内容的 GFileInputStream

Gio.File.replace

返回用于覆盖文件的输出流,可能首先创建文件备份。如果文件不存在,则创建该文件。

Gio.File.replace_async

异步覆盖文件,可能首先创建文件备份。

Gio.File.replace_finish

完成使用 g_file_replace_async() 启动的异步文件替换操作。

Gio.File.replace_readwrite

返回用于以读写模式覆盖文件的输出流,可能首先创建文件备份。如果文件不存在,则将其创建。

since: 2.22

Gio.File.replace_readwrite_async

异步以读写模式覆盖文件,替换内容,可能首先创建文件备份。

since: 2.22

Gio.File.replace_readwrite_finish

完成使用 g_file_replace_readwrite_async() 启动的异步文件替换操作。

since: 2.22

Gio.File.resolve_relative_path

将相对于 file 的相对路径解析为绝对路径。

Gio.File.set_attribute

将在文件中设置具有属性名称 attribute 的属性为 value_p

Gio.File.set_attributes_async

异步使用 info 设置 file 的属性。

Gio.File.set_attributes_finish

完成使用 g_file_set_attributes_async() 启动的属性设置。

Gio.File.set_attributes_from_info

尝试在目标值上设置所有 GFileInfo 中的属性,不会在出现第一个错误时停止。

Gio.File.set_display_name

file 重命名为指定的显示名称。

Gio.File.set_display_name_async

异步设置给定的 GFile 的显示名称。

Gio.File.set_display_name_finish

完成使用 g_file_set_display_name_async() 启动的显示名称设置。

Gio.File.start_mountable

开始一个类型为 G_FILE_TYPE_MOUNTABLE 的文件。使用 start_operation,您可以在需要时请求密码等回调。

since: 2.22

Gio.File.start_mountable_finish

完成启动操作。有关详细信息,请参阅 g_file_start_mountable()

since: 2.22

Gio.File.stop_mountable

停止类型为 G_FILE_TYPE_MOUNTABLE 的文件。

since: 2.22

Gio.File.stop_mountable_finish

完成停止操作,有关详细信息,请参阅 g_file_stop_mountable()

since: 2.22

Gio.File.trash

如果可能,则将文件file发送到“垃圾桶”。这与删除类似,但用户可以在清空垃圾桶之前恢复它。默认情况下,系统挂载禁用垃圾箱。请参阅g_unix_mount_entry_is_system_internal()(). 因此,此调用可以返回错误G_IO_ERROR_NOT_SUPPORTED。自GLib 2.66以来,可以通过x-gvfs-notrash Unix挂载选项禁用特定挂载对g_file_trash()的支持,此时将返回错误G_IO_ERROR_NOT_SUPPORTED。从2.82版开始,可以使用x-gvfs-trash Unix挂载选项为特定系统挂载启用对g_file_trash()的支持。

Gio.File.trash_async

异步将文件file发送到垃圾桶位置,如果可能。

自:2.38

Gio.File.trash_finish

完成一个异步文件垃圾操作,该操作是通过g_file_trash_async()开始的。

自:2.38

Gio.File.unmount_mountable

卸载类型为G_FILE_TYPE_MOUNTABLE的文件。

已弃用:2.22 

Gio.File.unmount_mountable_finish

完成卸载操作,详情请参见g_file_unmount_mountable()

已弃用:2.22 

Gio.File.unmount_mountable_with_operation

卸载类型为G_FILE_TYPE_MOUNTABLE的文件。

since: 2.22

Gio.File.unmount_mountable_with_operation_finish

完成卸载操作,详情请参见g_file_unmount_mountable_with_operation()

since: 2.22