当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart Uri.file用法及代码示例


dart:core 库中Uri.file 的用法介绍如下。

用法:

Uri.file(
   String path,    
   {bool? windows}   
)

从绝对或相对文件路径创建新文件 URI。

文件路径在 path 中传递。

此路径使用 Windows 或非 Windows 语义进行解释。

对于非 Windows 语义,斜杠 (/) 用于分隔输入 path 中的路径段。

对于 Windows 语义,反斜杠 (\) 和正斜杠 (/) 用于分隔输入 path 中的路径段,除非路径以 \\?\ 开头,在这种情况下只有反斜杠 (\ ) 分隔 path 中的路径段。

如果路径以路径分隔符开头,则会创建一个绝对 URI(具有 file 方案和空权限)。否则,将创建一个没有方案或权限的相对 URI 引用。此规则的一个例外是,当使用 Windows 语义并且路径以驱动器号开头,后跟冒号 (":") 和路径分隔符时,将创建绝对 URI。

是否使用 Windows 或非 Windows 语义的默认值取决于 Dart 运行的平台。在独立虚拟机中运行时,虚拟机会根据操作系统检测到这一点。在浏览器中运行时,始终使用非 Windows 语义。

要覆盖自动检测要使用的语义,请传递 windows 的值。传递true 将使用Windows 语义,传递false 将使用非Windows 语义。

使用非 Windows 语义的示例:

// xxx/yyy
Uri.file('xxx/yyy', windows: false);

// xxx/yyy/
Uri.file('xxx/yyy/', windows: false);

// file:///xxx/yyy
Uri.file('/xxx/yyy', windows: false);

// file:///xxx/yyy/
Uri.file('/xxx/yyy/', windows: false);

// C%3A
Uri.file('C:', windows: false);

使用 Windows 语义的示例:

// xxx/yyy
Uri.file(r'xxx\yyy', windows: true);

// xxx/yyy/
Uri.file(r'xxx\yyy\', windows: true);

file:///xxx/yyy
Uri.file(r'\xxx\yyy', windows: true);

file:///xxx/yyy/
Uri.file(r'\xxx\yyy/', windows: true);

// file:///C:/xxx/yyy
Uri.file(r'C:\xxx\yyy', windows: true);

// This throws an error. A path with a drive letter, but no following
// path, is not allowed.
Uri.file(r'C:', windows: true);

// This throws an error. A path with a drive letter is not absolute.
Uri.file(r'C:xxx\yyy', windows: true);

// file://server/share/file
Uri.file(r'\\server\share\file', windows: true);

如果传递的路径不是有效的文件路径,则会引发错误。

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 Uri.file constructor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。