flutter - 从文件名字符串获取文件扩展名

标签 flutter file dart

我试图用 dart 代码获取文件扩展名,如下所示,

var url = downloadUrl.toString();
String fileExtension = '';
String fileName = path.split("\/").last;
bool fileExt = false;
for (var characterUrl = 0;
     characterUrl < fileName.length;
     characterUrl++) {
     if (String.fromCharCode(fileName.codeUnitAt(characterUrl)) == '.' && !fileExt) {
      fileExt = true;
     }
     if (fileExt) {
          fileExtension += String.fromCharCode(fileName.codeUnitAt(characterUrl));
     }
}

当文件名为:

eg: Screenshot_2021-06-10_co.com.app.jpg

它返回我:

".com.app.jpg"

但我只想得到.jpg

在其他文件名中它工作得很好。

最佳答案

你在这里想太多了这个解决方案。只需使用String中已经为您制作的方法即可。类(class)。由于您已经有了文件名,因此您可以找到带有预先存在的 lastIndexOf. 字符的最后一个实例。方法并获取具有该索引的子字符串:

String fileName = 'Screenshot_2021-06-10_co.com.app.jpg';
String fileExt = fileName.substring(fileName.lastIndexOf('.'));

关于flutter - 从文件名字符串获取文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69638806/

相关文章:

android - 由于SDK问题,flutter_oauth版本解析失败

python - 如何使用python将文件的内容存储在数组中?

java - 在JAVA中多次处理大文件

c - 无法使文件 I/0 在周期计数器功能 -c 中工作

flutter - Flutter:如何使用matrix_gesture_detector设置最大/最小刻度

flutter - 从 DropdownItems 中选择值后,DropdownButton 值未更新。如何使用 selectedValue 更新默认值?

flutter - 自定义 FlexibleSpaceBar 小部件

flutter - 缺少具体实现 'getter Equatable'/props 问题

dart - 在 flutter 中在图标上写文字

dart - 如何在Dart中将参数从一个函数批量移动到另一个函数?