csv - 在 Flutter 中读取 CSV 文件时没有这样的文件
问题描述
我正在尝试以csv
颤振方式读取文件,但出现错误
(OS Error: No such file or directory, errno = 2)
csv 文件已在资产部分中声明pubspec.yaml
并且文件的路径是正确的,这是我同步读取文件的尝试:
-- 在课程开始时:
List<String> lines;
-- pubspec.yaml,资产部分:
assets:
- assets/videos/
- assets/images/
- assets/data/data.csv
-- 读取文件的方法
void _readDataFile(String csvFile) {
File file = File(csvFile);
lines = file.readAsLinesSync();
}
-- 调用上述方法 ---
@override
void initState() {
super.initState();
//other stuff ...
// ...
// ...
_readDataFile("assets/data/data.csv");
}
解决方案
您可以使用 rootBundle 来获取资产中的文件:
import 'dart:async' show Future;
import 'package:flutter/services.dart' show rootBundle;
Future<String> loadAsset() async {
return await rootBundle.loadString('assets/data/data.csv');
}
官方文档链接https://flutter.dev/docs/development/ui/assets-and-images#loading-text-assets
类似问题Flutter - Read text file from assets
推荐阅读
- c# - 从目录 MVC 中删除文件
- openssl - OpenSSL + CAPI:可以在 Windows 证书存储中找到 CA 证书,不会使用它验证服务器证书
- reactjs - MobX 中 when 反应的使用
- python - Django:无法访问模板中字典的值
- sql - SQL Server 使用 in 关键字传递字符串数组查询
- r - 精度 SD 未显示在 R 中
- delphi - TPacker.SplitNode 中的内存泄漏
- java - Log4J2 AsyncLogger 正在以高并发填充 LMAX 中断器的环形缓冲区
- java - 在java中替换多行字符串中的几个字符
- javascript - 使用MVC模式的多个表单Ajax请求,获取输入字段的新值