我认为这会非常简单,但似乎无法理解。我有一个
File file
,它有一条路径 file.path
,它会输出类似 /storage/emulated/0/Android/data/my_app/files/Pictures/ca04f332.png
的东西,但我似乎找不到任何东西来获得 ca04f332.png
。
File file = new File("/storage/emulated/0/Android/data/my_app/files/Pictures/ca04f332.png");
String fileName = file.path.split('/').last;
print(fileName);
输出= ca04f332.png
由于 Dart 版本
2.6
已经发布,并且可用于 flutter 版本 1.12
及更高版本,您可以使用 extension
方法。它将为这个问题提供一个更具可读性和全局性的解决方案。
file_extensions.dart
:
import 'dart:io';
extension FileExtention on FileSystemEntity{
String get name {
return this?.path?.split(Platform.pathSeparator)?.last;
}
}
和
name
getter 被添加到所有文件对象中。您只需对任何文件调用 name
即可。
main() {
File file = new File("/dev/dart/work/hello/app.dart");
print(file.name);
}
阅读文档以获取更多信息。
注: 由于
extension
是一个新功能,它尚未完全集成到 IDE 中,并且可能无法自动识别。您必须在需要的地方手动导入 extension
。只需确保扩展文件已导入:
import 'package:<your_extention_path>/file_extentions.dart';
File file = File('/foo/bar/baz/my_image.jpg');
String fileName = file.path.split(Platform.pathSeparator).last; // my_image.jpg
1。创建扩展:
extension FileEx on File {
String get name => path.split(Platform.pathSeparator).last;
}
2。用途:
File file = File('/foo/bar/baz/my_image.jpg');
String fileName = file.name; // my_image.jpg
获取名称或任何其他文件处理操作的简单方法。我建议使用此插件:https://pub.dev/packages/file_support
main() {
String filename= FileSupport().getFileNameWithoutExtension(<File Object>);
}
可以使用扩展方法无需使用任何包
像这样创建方法
extension FileNameExtension on File {
String getFileName() {
String fileName = path.split('/').last;
return fileName;
}
}
实施
File file = File("yourpath/example.pdf");
file.getFileName() // result => example.pdf
你好,我如何在 android 和 flutter 中找到文件的卷轴路径?