如何在Dart中将相对路径转换为绝对路径?

时间:2019-12-17 08:49:06

标签: dart

我有一个Dart代码,需要使用它并对其进行处理。出于可移植性的目的,我需要路径是相对的,并让Dart将其转换为绝对路径。我怎样才能做到这一点。 例如:

var samplePath = 'relative/path/file.txt';
// converted to 'C:/Users/XYZ/Desktop/relative/path/file.txt'

2 个答案:

答案 0 :(得分:2)

我从没用Dart编程,但是in this part of the documentation有一个 File 类的属性,可以满足您的要求。

此外,如果您拥有相对路径的根路径(也许是当前目录),则可以使用join function

希望它对您有帮助。

答案 1 :(得分:2)

另一种方法是使用软件包file_utils
它可以帮助解析当前目录并合并完整路径。

示例:

import 'package:file_utils/file_utils.dart';

void main(List<String> args) {
  final samplePath = 'relative/path/file.txt';
  final newPath = FileUtils.fullpath('./' + samplePath);
  print(newPath);
}

结果:

C:/Users/user/Documents/prj/prj01/relative/path/file.txt

字符串全路径(字符串名称)
如果可能,返回路径的全名。
解决以下部分:
细分“。”指示当前目录
指示父目录的段“ ..”
前导“〜”字符表示主目录
IEEE Std 1003.1-2001格式的环境变量,例如$ HOME / dart-sdk
当您以与POSIX不兼容的格式获取路径名并打算将其用作通配符模式的一部分时很有用。
不要直接在通配符模式上使用此方法,因为它可能会使模式变形。

相关问题