颤动:获取文件的文件名

时间:2018-05-20 22:25:54

标签: filenames flutter

我认为这很简单,但似乎无法得到这个。我有一个File file,它有一个file.path路径,它会像/storage/emulated/0/Android/data/my_app/files/Pictures/ca04f332.png那样吐出来,但我似乎找不到任何东西来获得ca04f332.png

4 个答案:

答案 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>);
}