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 Uri.decodeFull用法及代码示例
- Dart Uri.replace用法及代码示例
- Dart Uri.parse用法及代码示例
- Dart Uri.dataFromString用法及代码示例
- Dart Uri.tryParse用法及代码示例
- Dart Uri.encodeComponent用法及代码示例
- Dart Uri.directory用法及代码示例
- Dart Uri.toFilePath用法及代码示例
- Dart Uri.decodeComponent用法及代码示例
- Dart Uri.dataFromBytes用法及代码示例
- Dart Uri.removeFragment用法及代码示例
- Dart Uri.splitQueryString用法及代码示例
- Dart Uri.http用法及代码示例
- Dart Uri.https用法及代码示例
- Dart Uri.queryParametersAll用法及代码示例
- Dart Uri.isScheme用法及代码示例
- Dart Uri.encodeFull用法及代码示例
- Dart Uri.queryParameters用法及代码示例
- Dart UriData.parse用法及代码示例
- Dart UriData.mimeType用法及代码示例
- Dart Uri用法及代码示例
- Dart Uri构造函数用法及代码示例
- Dart Utf8Decoder用法及代码示例
- Dart UnmodifiableMapView用法及代码示例
- Dart Uint8List.sublist用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 Uri.file constructor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。