我看了一遍都找不到如何将文件中的输入读入变量。
尝试这样做
在c ++中
ifstream myFile;
myFile.open("filename.txt");
while(!file.eof()){
myFile >> var1 >> var2 >> etc...
关注dart文档我已经打开了文件但是我找不到这样的例子。非常感谢帮助以及相关Dart示例的链接,没有任何与web / app相关的内容。只是尝试从文件中读取并使用文件中的内容进行一些计算。 (文件有成绩和im计算平均值)。
示例input.txt文件(d123一些学生的唯一ID,数字是成绩)。
d123 90 89 60 77 65 100
d124 70 79 88 75 57 89
感谢
答案 0 :(得分:1)
您可以找到以下示例代码段。由于我不确定文件有多大,我使用异步和流API来逐行处理。但是,如果您的输入不是那么大,您可以立即读取整个文件,并执行相同的步骤。以下是一些包含良好文档的链接dart:io,dart:convert
import 'dart:io';
import 'dart:convert';
import 'dart:async';
main(List<String> arguments) {
final file = new File('input/input.txt');
Stream<List<int>> inputStream = file.openRead();
inputStream.transform(UTF8.decoder).transform(new LineSplitter()).listen(
(String line) {
// calculate average score
List<String> list = line.split(" ");
var studentId = list[0];
var averageScore = list
.sublist(1)
.map((value) => int.parse(value))
.reduce((a, b) => a + b) / (list.length - 1);
print('${studentId} has average score of ${averageScore}');
}, onDone: () {
print('File is succeessfully read.');
}, onError: (e) {
print(e.toString());
});
}
答案 1 :(得分:1)
我只是阅读整个文件,分成行,然后从那里分配变量:
import "dart:io";
main() {
var file = new File('input/input.txt');
var lines = file.readAsLinesSync();
var var1 = lines[0];
var var2 = lines[1];
...
}
如果仅读取部分文件非常重要,那么您可以使用上述解决方案。