小编GDT*_*yka的帖子

当我需要将文件名放入变量时,Flutter 如何删除文件扩展名

我使用 flutter 路径库中的 p.basename 来获取文件名,但我得到了带有扩展名的文件名,如何删除扩展名?为了获取路径,我使用 path_provider 库中的 getApplicationDocumentsDerecory

File newFile = File(filepath);
String name = p.basename(newFile.path);
Run Code Online (Sandbox Code Playgroud)

这是我用来获取文件名的代码

dart flutter

6
推荐指数
1
解决办法
2592
查看次数

Flutter 如何从一个列表中的资产文件夹中获取所有文件

我在 asset 文件夹中有一堆 xml 文件,我添加了 pubspec.yaml 的路径,路径看起来像“assets/data/somename.xml”,我需要从它们获取数据,这就是我现在获取数据的方式

List filePathList = ['assets/data/widow.xml','assets/data/door.xml'];
    for(int i = 0;i<filePathList.length;i++){
      var xmlFile =  XmlDocument.parse(await rootBundle.loadString(filePathList[i]));
      checkListtemplateXmlList.add(xmlFile);
}
Run Code Online (Sandbox Code Playgroud)

你怎么看我使用非常糟糕的方式从文件中获取数据,将来会有更多的xml文件,所以我需要一些解决方案来解决这个问题,不要在filePathList中为assets文件夹中的每个文件添加路径。我还创建了一个 loadData 函数来加载我想要的所有文件,但我的 json 文件位于我使用 getApplicationDocumentDirectory 类获得的目录中。有一个代码

static Future<void>  loadData() async {
    final dir = await getApplicationDocumentsDirectory();
    List<FileSystemEntity> files = await dir.list().toList();
    for (int i = 0; i < files.length; i++) {
      String filepath = files[i].path;
      File newFile = File(filepath);
      String name = p.basenameWithoutExtension(newFile.path);
      String myExtension = p.extension(filepath);
      if(myExtension != '.json'){
      } else{
        checkLists.add(CheckList(name));
      }
    }
    for(int i …
Run Code Online (Sandbox Code Playgroud)

dart flutter

2
推荐指数
1
解决办法
2133
查看次数

标签 统计

dart ×2

flutter ×2