當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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