createSync 抽象方法

void createSync(
  1. String target,
  2. {bool recursive = false}
)

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

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

如果链接路径已存在,将抛出异常。

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

在Windows平台上,此调用将创建真实的符号链接而不是junction。Windows将文件链接和目录链接视为不同的、不可互换的链接类型。每个链接要么是文件链接,要么是目录链接,且链接类型在创建时确定,然后该链接在大多数情况下被视为文件或目录。用于操作每个链接的Win32 API调用各不相同。例如,使用DeleteFile函数来删除文件链接,使用RemoveDirectory来删除目录链接。

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

为了在Windows上创建符号链接,Dart必须在管理员模式下运行或系统已启用开发者模式,否则当调用此方法时会抛出带有ERROR_PRIVILEGE_NOT_HELD作为errno的FileSystemException

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

实现

void createSync(String target, {bool recursive = false});