方法
GioFilemove
声明 [src]
gboolean
g_file_move (
GFile* source,
GFile* destination,
GFileCopyFlags flags,
GCancellable* cancellable,
GFileProgressCallback progress_callback,
gpointer progress_callback_data,
GError** error
)
描述 [src]
尝试将文件或目录 source
移动到 destination
指定的位置。如果支持本地移动操作,则使用此操作,否则使用复制+删除备用方案。本地实现可能支持移动目录(例如在同一文件系统中),但备用代码不支持。
如果指定了标志 G_FILE_COPY_OVERWRITE
,则会覆盖已经存在的 destination
文件。
如果 cancellable
不是 NULL
,则可以从另一个线程触发可取消对象来取消操作。如果操作被取消,则返回错误 G_IO_ERROR_CANCELLED
。
如果 progress_callback
不是 NULL
,则可以将此设置为一个 GFileProgressCallback
函数来监控操作。progress_callback_data
将传递给此函数。保证在转移所有数据后调用此回调,其中包含操作期间复制的总字节数。
如果 source
文件不存在,则返回错误 G_IO_ERROR_NOT_FOUND
,无论 destination
的状态如何。
如果没有指定 G_FILE_COPY_OVERWRITE
且目标存在,则返回错误 G_IO_ERROR_EXISTS
。
如果尝试覆盖一个目录上的文件,则返回错误 G_IO_ERROR_IS_DIRECTORY
。如果尝试用目录覆盖目录,则返回错误 G_IO_ERROR_WOULD_MERGE
。
如果源是目录并且目标不存在,或者指定 G_FILE_COPY_OVERWRITE
并且目标是文件,则可能返回错误 G_IO_ERROR_WOULD_RECURSE
(如果本地移动操作不可用)。
参数
destination
-
类型:
GFile
指向目标位置的
GFile
。数据由方法调用者拥有。 flags
-
类型:
GFileCopyFlags
一组
GFileCopyFlags
。 cancellable
-
类型:
GCancellable
可选的
GCancellable
对象,NULL
表示忽略。该参数可以是 NULL
。数据由方法调用者拥有。 progress_callback
-
更新用的
GFileProgressCallback
函数。该参数可以是 NULL
。 progress_callback_data
-
类型:
gpointer
回调函数的用户数据的 Gpointer。
该参数可以是 NULL
。数据由方法调用者拥有。 error
-
类型:
GError **
恢复性错误的返回位置的地址。
该参数可以是 NULL
。如果返回位置不是 NULL
,则必须将其初始化为NULL
GError*
。如果没有错误,则方法将留初始化参数为 NULL
。发生错误时,参数将设置为一个新的 GError
;调用者将获取数据的所有权,并负责释放它。