如何阅读文件或目录的名称?
有一个属性'path'但返回整个文件路径。
拥有像'name'这样的属性,只返回路径的最后一部分会很好。
在Java中有一个名为File.name();
的方法答案 0 :(得分:5)
您可以使用path package执行此操作:
import 'package:path/path.dart' as path;
main() {
path.basename('path/to/foo.dart'); // -> 'foo.dart'
path.basename('path/to'); // -> 'to'
}
有关详细说明,请参阅path package documentation。
答案 1 :(得分:0)
由于Dart版本2.6
已发布,并且可用于版本1.12
及更高版本,因此可以使用extension
方法。它将为该问题提供更具可读性和全局性的解决方案。
file_extensions.dart
:
import 'dart:io';
extension FileExtention on FileSystemEntity{
String get name {
return this?.path?.split("/")?.last;
}
}
和name
getter被添加到所有文件对象。您只需在任何文件上调用name
。
main() {
File file = new File("/dev/dart/work/hello/app.dart");
print(file.name);
}
阅读document以获得更多信息。
注意:
由于extension
是一项新功能,因此它尚未完全集成到IDE中,因此可能无法自动识别。您必须在需要的地方手动导入extension
。只要确保扩展文件已导入:
import 'package:<your_extention_path>/file_extentions.dart';