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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。