create 抽象方法

Future<链接> create(
  1. String target, {
  2. bool recursive = false,
})

在文件系统中创建符号链接。

创建的链接将指向 target 中的路径,无论该路径是否存在。

返回一个 Future<链接>,当链接创建完成后完成。如果链接路径已存在,则该 future 将以错误完成。

如果 recursivefalse(默认值),则仅在所有路径中的目录都存在时创建链接。如果 recursivetrue,则首先创建所有不存在的父路径。除非它们也位于 path 中,否则不会影响 target 路径中的目录。

在 Windows 平台上,此调用将创建一个真正的符号链接而不是连接。Windows 将文件链接和目录链接视为不同且不可互换的链接类型。每个链接要么是文件链接,要么是目录链接,链接类型在创建时选择,并且链接在大多数情况下被计为文件或目录。用于操作每个链接的 Win32 API 调用不同。例如,使用 DeleteFile 函数删除指向文件的链接,必须使用 RemoveDirectory 删除指向目录的链接。

如果 target 存在,则创建的 Windows 符号链接将与 target 的类型匹配。如果 target 不存在,则创建文件链接。如果后来将 target 替换为不同类型的对象,则创建的链接类型不会改变,但此时链接将无法通过 resolveSymbolicLinks 解析。

为了在 Windows 上创建符号链接,必须以管理员模式运行 Dart 或启用开发者模式,否则当调用此函数时,将引发一个 FileSystemException,并将 ERROR_PRIVILEGE_NOT_HELD 设置为 errno。

在其他平台上,使用 POSIX 的 symlink() 调用来创建包含字符串 target 的符号链接。如果 target 是相对路径,它将被解释为链接所在目录的相对路径。

实现

Future<Link> create(String target, {bool recursive = false});