接口
Gio文件
说明 [源]
interface Gio.File : GObject.Object
GFile
是在虚拟文件系统上操作文件的高级抽象。 GFile
是轻量级、不可变的对象,在创建时不会进行I/O操作。必须理解的是, GFile
对象不代表文件,而仅仅是文件的标识符。所有文件内容的I/O都实现为流操作(参见 GInputStream
和 GOutputStream
)。
要构建一个 GFile
,你可以
g_file_new_for_path()
如果你有路径。g_file_new_for_uri()
如果你有一个 URI。g_file_new_for_commandline_arg()
或g_file_new_for_commandline_arg_and_cwd()
对于命令行参数。g_file_new_tmp()
从模板创建一个临时文件。g_file_new_tmp_async()
异步创建一个临时文件。g_file_new_tmp_dir_async()
异步创建一个临时目录。g_file_parse_name()
从来自g_file_get_parse_name()
的 UTF-8 字符串。g_file_new_build_filename()
或g_file_new_build_filenamev()
从路径元素创建一个文件。
将 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
操作几乎总是需要明显的时间,因此没有同步对应项。显著的例子包括
g_file_mount_mountable()
来挂载可挂载的文件。g_file_unmount_mountable_with_operation()
来卸载可挂载的文件。g_file_eject_mountable_with_operation()
来弹出可挂载的文件。
实体标签
《GFile》的一个显著特性是实体标签,简称‘etags’。实体标签类似于传统 mtime 的更抽象版本,可以用于快速确定文件是否已被修改。有关 HTTP 1.1 中 HTTP ETag
报头规范的详细信息,请参阅规范,这是一个非常相似的概念。
先决条件
为了实现 File
,您必须使您的类型从GObject
继承。
功能
g_file_new_for_commandline_arg
使用命令行参数创建一个 GFile
。参数 arg
可以是一个 URI、绝对路径或相对于当前工作目录的相对路径。此操作永远不会失败,但如果 arg
指向一个格式错误的路径,则返回的对象可能不支持任何 I/O 操作。
g_file_parse_name
使用给定的 parse_name
(即由 g_file_get_parse_name() 给出的)构建一个 GFile
。此操作永远不会失败,但如果 parse_name
无法解析,则返回的对象可能不支持任何 I/O 操作。
实例方法
g_file_eject_mountable
在可卸载设备上启动异步弹出操作。当此操作完成时,会通过callback调用带有user_user数据的操作,并且可以通过g_file_eject_mountable_finish()最终化操作。
已弃用: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_get_child_for_display_name
获取给定 display_name
的 file
的子项(即名称的 UTF-8 版本)。如果该函数失败,则返回 NULL
,并且 error
将被设置。这在构造新文件的 GFile
时非常有用,例如,当用户在用户界面中输入文件名时,例如选择一个目录并在文件选择器中输入文件名。
g_file_get_uri_scheme
获取 GFile
的 URI 方案。按照 RFC 3986,方案被解码为
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
常见的方案包括“文件”、“http”、“ftp”等。
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_with_parents
创建一个目录以及可能不存在的父目录,类似于'mkdir -p'。如果文件系统不支持创建目录,则此函数会失败,将error
设置为G_IO_ERROR_NOT_SUPPORTED
。如果目录本身已存在,则该函数会失败,将error
设置为G_IO_ERROR_EXISTS
,与g_mkdir_with_parents()类似。
自:2.18
g_file_measure_disk_usage_finish
从早前的调用g_file_measure_disk_usage_async()中收集结果。有关更多信息,请参阅g_file_measure_disk_usage()
。
自:2.38
g_file_move
尝试将文件或目录source
移动到由destination
指定的位置。如果支持本地移动操作,则使用它,否则使用复制删除的回退机制。本地实现可能支持移动目录(例如在同一文件系统中移动),但回退代码不支持。
g_file_peek_path
与 g_file_get_path() 类似,但通过 g_object_set_qdata_full() 缓存结果。这适用于例如在 C 应用程序中,将 g_file_*
API 与本地 API 混合使用的场景。它还可以避免重复字符串,因此通常更高效。
自:2.56
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_set_attribute_byte_string
将类型为 G_FILE_ATTRIBUTE_TYPE_BYTE_STRING
的 attribute
设置为 value
。如果 attribute
是不同类型,此操作将失败,返回 FALSE
。
g_file_set_attribute_int32
将类型为 G_FILE_ATTRIBUTE_TYPE_INT32
的 attribute
设置为 value
。如果 attribute
是不同类型,此操作将失败。
g_file_set_attribute_int64
将类型为 G_FILE_ATTRIBUTE_TYPE_INT64
的 attribute
设置为 value
。如果 attribute
是不同类型,此操作将失败。
g_file_set_attribute_string
将类型为 G_FILE_ATTRIBUTE_TYPE_STRING
的 attribute
设置为 value
。如果 attribute
是不同类型,此操作将失败。
g_file_set_attribute_uint32
将类型为 G_FILE_ATTRIBUTE_TYPE_UINT32
的 attribute
设置为 value
。如果 attribute
是不同类型,此操作将失败。
g_file_set_attribute_uint64
将类型为 G_FILE_ATTRIBUTE_TYPE_UINT64
的 attribute
设置为 value
。如果 attribute
是不同类型,此操作将失败。
g_file_start_mountable
开始一个类型为 G_FILE_TYPE_MOUNTABLE
的文件。使用 start_operation
,您可以在需要时请求密码等回调。
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_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 |
|
父接口。 |
|
dup |
|
复制一个 |
|
hash |
|
为 |
|
equal |
|
检查两个给定 |
|
is_native |
|
检查文件是否是系统本地的。 |
|
has_uri_scheme |
|
检查 |
|
get_uri_scheme |
|
获取 |
|
get_basename |
|
获取给定 |
|
get_path |
|
获取 |
|
get_uri |
|
获取 |
|
get_parse_name |
|
获取 |
|
get_parent |
|
获取 |
|
prefix_matches |
|
检查一个 |
|
get_relative_path |
|
获取相对于给定路径的 |
|
resolve_relative_path |
|
将 |
|
get_child_for_display_name |
|
获取指定显示名称的子 |
|
enumerate_children |
|
获取一个包含一个 |
|
enumerate_children_async |
|
异步获取一个包含一个 |
|
enumerate_children_finish |
|
完成异步枚举子项。 |
|
query_info |
|
获取一个 |
|
query_info_async |
|
异步获取一个 |
|
query_info_finish |
|
完成异步获取信息操作。 |
|
query_filesystem_info |
|
获取一个位于文件系统上的 |
|
query_filesystem_info_async |
|
异步获取一个位于文件系统上的 |
|
query_filesystem_info_finish |
|
完成异步获取文件系统信息。 |
|
find_enclosing_mount |
|
获取GFile的GMount。 |
|
find_enclosing_mount_async |
|
异步获取一个 |
|
find_enclosing_mount_finish |
|
完成异步获取卷。 |
|
set_display_name |
|
设置一个 |
|
set_display_name_async |
|
异步设置一个 |
|
set_display_name_finish |
|
完成异步设置 |
|
query_settable_attributes |
|
返回可以设置的一组 |
|
_query_settable_attributes_async |
|
异步获取一个可以设置的一组 |
|
_query_settable_attributes_finish |
|
完成异步查询可设置属性。 |
|
query_writable_namespaces |
|
返回可写 |
|
_query_writable_namespaces_async |
|
异步获取可写 |
|
_query_writable_namespaces_finish |
|
异步查询可写命名空间完成。 |
|
set_attribute |
|
设置 |
|
set_attributes_from_info |
|
从 |
|
set_attributes_async |
|
异步设置文件的属性。 |
|
set_attributes_finish |
|
异步设置文件属性完成。 |
|
read_fn |
|
异步读取文件。 |
|
read_async |
|
异步读取文件。 |
|
read_finish |
|
异步读取文件完成。 |
|
append_to |
|
写入文件的末尾。 |
|
append_to_async |
|
异步写入文件的末尾。 |
|
append_to_finish |
|
异步文件追加操作完成。 |
|
create |
|
创建新文件。 |
|
create_async |
|
异步创建文件。 |
|
create_finish |
|
异步创建文件完成。 |
|
replace |
|
替换文件内容。 |
|
replace_async |
|
异步替换文件内容。 |
|
replace_finish |
|
异步替换文件完成。 |
|
delete_file |
|
删除文件。 |
|
delete_file_async |
|
异步删除文件。 |
|
delete_file_finish |
|
异步删除完成。 |
|
trash |
|
将 |
|
trash_async |
|
异步将 |
|
trash_finish |
|
异步文件回收完成。 |
|
make_directory |
|
创建目录。 |
|
make_directory_async |
|
异步创建目录。 |
|
make_directory_finish |
|
异步创建目录完成。 |
|
make_symbolic_link |
|
创建符号链接。如果不支持符号链接,则返回 |
|
make_symbolic_link_async |
|
异步创建符号链接。 |
|
make_symbolic_link_finish |
|
异步创建符号链接完成。 |
|
copy |
|
复制文件。如果不支持复制,则返回 |
|
copy_async |
|
异步复制文件。 |
|
copy_finish |
|
异步复制完成。 |
|
move |
|
移动文件。 |
|
move_async |
|
异步移动文件。自 2.72 版起。 |
|
move_finish |
|
异步移动操作完成。自 2.72 版起。 |
|
mount_mountable |
|
挂载可挂载对象。 |
|
mount_mountable_finish |
|
挂载完成。 |
|
unmount_mountable |
|
卸载可挂载对象。 |
|
unmount_mountable_finish |
|
卸载完成。 |
|
eject_mountable |
|
弹出可挂载对象。 |
|
eject_mountable_finish |
|
弹出操作完成。 |
|
mount_enclosing_volume |
|
挂载指定位置。 |
|
mount_enclosing_volume_finish |
|
挂载指定位置完成。 |
|
monitor_dir |
|
为位置创建 |
|
monitor_file |
|
为位置创建 |
|
open_readwrite |
|
打开文件以读写。自 2.22 版起。 |
|
open_readwrite_async |
|
异步打开文件以读写。自 2.22 版起。 |
|
open_readwrite_finish |
|
异步打开读写完成。自 2.22 版起。 |
|
create_readwrite |
|
创建文件读写。自 2.22 版起。 |
|
create_readwrite_async |
|
异步创建读写文件。自2.22版本。 |
|
create_readwrite_finish |
|
完成异步创建读写文件。自2.22版本。 |
|
replace_readwrite |
|
替换文件读写。自2.22版本。 |
|
replace_readwrite_async |
|
异步替换文件读写。自2.22版本。 |
|
replace_readwrite_finish |
|
完成异步替换读写文件。自2.22版本。 |
|
start_mountable |
|
启动可挂载对象。自2.22版本。 |
|
start_mountable_finish |
|
完成启动操作。自2.22版本。 |
|
stop_mountable |
|
停止挂载。自2.22版本。 |
|
stop_mountable_finish |
|
完成停止操作。自2.22版本。 |
|
supports_thread_contexts |
|
一个布尔值,表示 |
|
unmount_mountable_with_operation |
|
使用 |
|
unmount_mountable_with_operation_finish |
|
使用 |
|
eject_mountable_with_operation |
|
使用 |
|
eject_mountable_with_operation_finish |
|
使用 |
|
poll_mountable |
|
轮询挂载对象以检查媒体更改。自2.22版本。 |
|
poll_mountable_finish |
|
完成媒体更改轮询操作。自2.22版本。 |
|
measure_disk_usage |
|
递归计算 |
|
measure_disk_usage_async |
|
异步递归计算 |
|
measure_disk_usage_finish |
|
完成异步递归磁盘使用情况测量。自2.38版本。 |
|
query_exists |
|
查询文件是否存在。自2.84版本。 |
虚拟方法
Gio.File.eject_mountable
在可卸载设备上启动异步弹出操作。当此操作完成时,会通过callback调用带有user_user数据的操作,并且可以通过g_file_eject_mountable_finish()最终化操作。
已弃用: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.get_child_for_display_name
获取给定 display_name
的 file
的子项(即名称的 UTF-8 版本)。如果该函数失败,则返回 NULL
,并且 error
将被设置。这在构造新文件的 GFile
时非常有用,例如,当用户在用户界面中输入文件名时,例如选择一个目录并在文件选择器中输入文件名。
Gio.File.get_parse_name
获取 file
的解析名称。解析名称是一个 UTF-8 字符串,用于描述文件,以便可以使用 g_file_parse_name() 获取 GFile
。)
Gio.File.get_uri_scheme
获取 GFile
的 URI 方案。按照 RFC 3986,方案被解码为
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
常见的方案包括“文件”、“http”、“ftp”等。
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.measure_disk_usage_finish
从早前的调用g_file_measure_disk_usage_async()中收集结果。有关更多信息,请参阅g_file_measure_disk_usage()
。
自:2.38
Gio.File.move
尝试将文件或目录source
移动到由destination
指定的位置。如果支持本地移动操作,则使用它,否则使用复制删除的回退机制。本地实现可能支持移动目录(例如在同一文件系统中移动),但回退代码不支持。
Gio.File.start_mountable
开始一个类型为 G_FILE_TYPE_MOUNTABLE
的文件。使用 start_operation
,您可以在需要时请求密码等回调。
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.unmount_mountable_with_operation_finish
完成卸载操作,详情请参见g_file_unmount_mountable_with_operation()
。
since: 2.22