答案 0 :(得分:4)
您可以在Dart的测试框架中找到文件的用法: status_file_parser.dart(搜索“文件”)。
简而言之:
File file = new File(path);
if (!file.existsSync()) <handle missing file>;
InputStream file_stream = file.openInputStream();
StringInputStream lines = new StringInputStream(file_stream);
lines.lineHandler = () {
String line;
while ((line = lines.readLine()) != null) {
...
};
lines.closeHandler = () {
...
};
请注意,API尚未最终确定,并且可能随时更改。
编辑:API已更改。见Introduction to new IO
答案 1 :(得分:0)
您的问题意味着您希望从客户端(即浏览器)执行此操作。 dart:io
库仅适用于命令行上的独立VM。
如果您确实想从VM中读取文件,现在有一种更简单的方法:
import 'dart:io';
main() {
var filename = new Options().script;
var file = new File(filename);
if (!file.existsSync()) {
print("File $filename does not exist");
return;
}
var contents = file.readAsStringSync();
print(contents);
}
如果您不想在读取整个文件时阻止,可以使用返回Future的readAsString
的异步版本:
file.readAsString().then((contents) {
print(contents);
});