Flutter:获取文件的文件名
Flutter: Get the filename of a File
我认为这会非常简单,但似乎无法理解。我有一个 File file
并且它有一个路径 file.path
吐出类似 /storage/emulated/0/Android/data/my_app/files/Pictures/ca04f332.png
的东西但我似乎找不到任何东西可以得到 ca04f332.png
.
您可以使用 basename
function from the dart path library:
import 'package:path/path.dart';
File file = new File("/dir1/dir2/file.ext");
String basename = basename(file.path);
# file.ext
由于 Dart 版本 2.6
已经发布并且可以用于 flutter 版本 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';
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
获取名称或任何其他文件处理的简单方法operations.I推荐使用此插件:https://pub.dev/packages/file_support
main() {
String filename= FileSupport().getFileNameWithoutExtension(<File Object>);
}
我认为这会非常简单,但似乎无法理解。我有一个 File file
并且它有一个路径 file.path
吐出类似 /storage/emulated/0/Android/data/my_app/files/Pictures/ca04f332.png
的东西但我似乎找不到任何东西可以得到 ca04f332.png
.
您可以使用 basename
function from the dart path library:
import 'package:path/path.dart';
File file = new File("/dir1/dir2/file.ext");
String basename = basename(file.path);
# file.ext
由于 Dart 版本 2.6
已经发布并且可以用于 flutter 版本 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';
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
获取名称或任何其他文件处理的简单方法operations.I推荐使用此插件:https://pub.dev/packages/file_support
main() {
String filename= FileSupport().getFileNameWithoutExtension(<File Object>);
}