createSync 抽象方法
在文件系统中创建符号链接。
创建的链接将指向 target
指定的路径,无论该路径是否存在。
如果链接路径已存在,将抛出异常。
如果 recursive
为 false
(默认值),则只有在所有路径中的目录都存在时才会创建链接。如果 recursive
为 true
,则首先创建所有不存在的父路径。不会影响 target
路径中的目录,除非它们也位于 path 中。
在 Windows 平台上,此调用将创建真正的符号链接而不是链接点。Windows 将文件链接和目录链接视为不同且不可互换的链接类型。每个链接要么是文件链接,要么是目录链接,类型在创建链接时选择,然后链接在大多数情况下被视为文件或目录。用于操作每个链接的 Win32 API 调用不同。例如,使用 DeleteFile
函数删除对文件的链接,必须使用 RemoveDirectory
删除对目录的链接。
创建的 Windows 符号链接将与 target
的类型相匹配,如果 target
存在,否则创建文件链接。如果 target
后来被替换为不同类型的对象,则创建的链接类型不会改变,但链接将无法由 resolveSymbolicLinks 解析。
为了在 Windows 上创建符号链接,Dart 必须以管理员模式运行或系统必须启用开发者模式,否则当调用此方法时,将引发包含 ERROR_PRIVILEGE_NOT_HELD
设置为 errno 的 FileSystemException。
在其他平台上,使用 POSIX 的 symlink()
调用来创建包含字符串 target
的符号链接。如果 target
是相对路径,它将被解释为相对于包含链接的目录。
实现
void createSync(String target, {bool recursive = false});