我认为这很简单,但似乎无法得到这个。我有一个File file
,它有一个file.path
路径,它会像/storage/emulated/0/Android/data/my_app/files/Pictures/ca04f332.png
那样吐出来,但我似乎找不到任何东西来获得ca04f332.png
。
答案 0 :(得分:20)
File file = new File("/storage/emulated/0/Android/data/my_app/files/Pictures/ca04f332.png");
String fileName = file.path.split('/').last;
print(fileName);
output = ca04f332.png
答案 1 :(得分:12)
您可以使用飞镖basename
中的path library功能:
File file = new File("/dir1/dir2/file.ext");
String basename = basename(file.path);
# file.ext
答案 2 :(得分:0)
由于Dart版本 a=random.randint(0,m-1) # Or to simplify, random.randrange(m)
b=random.randint(0,n-1) # Or to simplify, random.randrange(n)
已发布,并且可用于版本2.6
及更高版本,因此可以使用1.12
方法。它将为该问题提供更具可读性和全局性的解决方案。
extension
:
file_extensions.dart
和import 'dart:io';
extension FileExtention on FileSystemEntity{
String get name {
return this?.path?.split("/")?.last;
}
}
getter被添加到所有文件对象。您只需在任何文件上调用name
。
name
阅读document以获得更多信息。
注意:
由于main() {
File file = new File("/dev/dart/work/hello/app.dart");
print(file.name);
}
是一项新功能,因此它尚未完全集成到IDE中,因此可能无法自动识别。您必须在需要的地方手动导入extension
。只要确保扩展文件已导入:
extension
答案 3 :(得分:0)
获取名称或任何其他文件处理操作的简便方法。我建议使用此插件:https://pub.dev/packages/file_support
main() {
String filename= FileSupport().getFileNameWithoutExtension(<File Object>);
}