dart:io
庫中Directory.resolveSymbolicLinksSync
方法的用法介紹如下。
用法:
String resolveSymbolicLinksSync()
override
解析文件係統對象相對於當前工作目錄的路徑。
解析路徑上的所有符號鏈接並解析所有..
和.
路徑段。
resolveSymbolicLinksSync 使用操作係統的本機文件係統 API 來解析路徑,在 linux 和 OS X 上使用 realpath
函數,在 Windows 上使用 GetFinalPathNameByHandle
函數。如果路徑不指向現有文件係統對象,resolveSymbolicLinksSync
會拋出 FileSystemException
。
在 Windows 上,..
段被解析 before
解析符號鏈接,而在其他平台上,符號鏈接在應用 ..
之前是 resolved to their
target
。
為了確保所有平台上的相同行為在調用 resolveSymbolicLinksSync
之前解析 ..
段。一種方法是使用 Uri 類:
var path = Uri.parse('.').resolveUri(Uri.file(input)).toFilePath();
if (path == '') path = '.';
var resolved = File(path).resolveSymbolicLinksSync();
print(resolved);
因為 Uri.resolve
刪除了 ..
段。這將導致 Windows 行為。
相關用法
- Dart Directory.resolveSymbolicLinks用法及代碼示例
- Dart Directory用法及代碼示例
- Dart DivElement用法及代碼示例
- Dart DateTime.toUtc用法及代碼示例
- Dart DateTime.minute用法及代碼示例
- Dart DateTime.toIso8601String用法及代碼示例
- Dart DomStringList.first用法及代碼示例
- Dart DateTime.fromMillisecondsSinceEpoch用法及代碼示例
- Dart DateTime.add用法及代碼示例
- Dart DateTime.isAfter用法及代碼示例
- Dart DoubleLinkedQueue.from用法及代碼示例
- Dart DateTime用法及代碼示例
- Dart DateTime.weekday用法及代碼示例
- Dart DomRectList.length用法及代碼示例
- Dart DateTime.isAtSameMomentAs用法及代碼示例
- Dart DomRectList.first用法及代碼示例
- Dart Duration.inDays用法及代碼示例
- Dart DomStringList.elementAt用法及代碼示例
- Dart Duration.inMicroseconds用法及代碼示例
- Dart DateTime.hour用法及代碼示例
- Dart DynamicLibraryExtension.lookupFunction用法及代碼示例
- Dart DateTime.isBefore用法及代碼示例
- Dart DateTime.utc用法及代碼示例
- Dart DeferredLibrary用法及代碼示例
- Dart DoubleLinkedQueue.isEmpty用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 resolveSymbolicLinksSync method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。