Dart访问文件或目录的名称

时间:2013-11-19 08:29:05

标签: dart

如何阅读文件或目录的名称?

有一个属性'path'但返回整个文件路径。

拥有像'name'这样的属性,只返回路径的最后一部分会很好。

在Java中有一个名为File.name();

的方法

2 个答案:

答案 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';