我不知道如何使用路径扩展“〜”。我希望使用路径函数,目录/文件类会自动处理它。
import "dart:io";
import 'package:path/path.dart';
void main() {
print(absolute("~"));
var d = new Directory("~");
print(d.absolute.path);
}
打印
/private/tmp/dummy/dummy/bin/~
/private/tmp/dummy/dummy/bin/~
答案 0 :(得分:2)
就像@mezoni在评论中所说的那样,到处都不支持。 有些图书馆内置了支持,有些则没有。
解决方法:
import 'dart:io' as io;
import 'package:path/path.dart' as path;
...
if(io.Platform.isWindows) {
print(path.absolute(io.Platform.environment['USERPROFILE'])); // not tested
} else {
print(path.absolute(io.Platform.environment['HOME']));
}
答案 1 :(得分:1)
这取决于具体情况。在您的示例中,您可以使用以下代码。
import "dart:io";
import "package:file_utils/file_utils.dart";
void main() {
var home = FilePath.expand("~/music");
var dir = new Directory(home);
print(dir.absolute.path);
}
如果您想查找某些文件,可以使用其他代码。
import "package:file_utils/file_utils.dart";
void main() {
var songs = FileUtils.glob("~/music/*{.mp3,.flac}");
for(var song in songs) {
print(song);
}
}