【发布时间】:2018-10-10 12:32:58
【问题描述】:
我是飞镖语言的新手。
我想使用库 dart:io 读取文件 (test.txt)。我的第一次尝试基于此链接: https://v1-dartlang-org.firebaseapp.com/dart-vm/io-library-tour
但是通过这些尝试,我在尝试读取文件时仍然收到错误,我没有找到任何相关信息,所以我在这里问,有没有人有任何解决方案或任何想法可能是什么问题?
这是我尝试读取的代码和文件(以 UTF-8 编码)。
configReader.dart
import 'dart:io';
import 'dart:convert';
class ConfigReader{
ConfigReader(){
var configFile = new File("test.txt");
var text;
configFile.readAsLines(encoding : Encoding.getByName("utf-8"));
}
}
test.txt
line1
line2
line3
line4
我得到的错误:
异常:不支持的操作:_Namespace STACKTRACE: dart:sdk_internal
readAsLines 包:insightos/src/utils/init/configReader.dart 11:15
新包:insightos/src/utils/init/utils.dart 35:5
获取主机包:insightos/src/utils/init/utils.dart 72:13
获取SandayaNewEndpointService 包:insightos/src/utils/linker/query_factory.dart 52:21 loadClientConfiguration dart:sdk_internal
异步包:insightos/src/utils/linker/query_factory.dart 51:70 加载客户端配置 包:insightos/src/utils/init/authenticator.dart 85:65 initApp dart:sdk_internal 异步 包:insightos/src/utils/init/authenticator.dart 83:44 initApp 包:insightos/src/utils/init/authenticator.dart 66:7
initAuthentication 包:stack_trace
arg 包:angular/src/core/zone/ng_zone.dart 190:16 arg dart:sdk_internal runUnary 包:angular/src/core/zone/ng_zone.dart 187:18
[_runUnary] dart:sdk_internal
.scheduleMicrotask.dart.fn 包:angular/src/core/zone/ng_zone.dart 163:9
safeMicrotask 包:stack_trace
parent.registerCallback.dart.fn 包:angular/src/core/zone/ng_zone.dart 178:16
parent.run.dart.fn dart:sdk_internal
运行包:angular/src/core/zone/ng_zone.dart 175:18
[_运行]包:insightos/src/utils/linker/query_factory.dart 51:70 加载客户端配置 包:insightos/src/utils/init/authenticator.dart 85:65 initApp dart:sdk_internal 异步 包:insightos/src/utils/init/authenticator.dart 83:44 initApp 包:insightos/src/utils/init/authenticator.dart 66:7
initAuthentication 包:stack_trace
arg 包:angular/src/core/zone/ng_zone.dart 190:16 arg dart:sdk_internal runUnary 包:angular/src/core/zone/ng_zone.dart 187:18
[_runUnary] dart:sdk_internal
.scheduleMicrotask.dart.fn 包:angular/src/core/zone/ng_zone.dart 163:9
safeMicrotask 包:stack_trace
parent.registerCallback.dart.fn 包:angular/src/core/zone/ng_zone.dart 178:16
parent.run.dart.fn dart:sdk_internal
运行包:angular/src/core/zone/ng_zone.dart 175:18
[_运行]dart:sdk_internal
异步包:insightos/src/utils/init/authenticator.dart 61:40
initAuthentication 包:insightos/src/utils/init/authenticator.dart 58:5 ngOnInit 包:insightos/src/components/app_bar/app_bar.template.dart 471:25 detectChanges内部包:angular/src/core/linker/app_view.dart 398:7 检测变化 包:insightos/src/utils/app/insightOS.template.dart 366:16
detectChanges内部包:angular/src/core/linker/app_view.dart 398:7 检测变化 包:insightos/src/utils/app/insightOS.template.dart 413:16
detectChanges内部包:angular/src/core/linker/app_view.dart 398:7 检测变化 包:angular/src/core/linker/view_ref.dart 106:12
detectChanges 包:angular/src/core/change_detection/host.dart 168:18 [_runTick] 包:angular/src/core/change_detection/host.dart 144:15
勾选包:angular/src/core/application_ref.dart 108:5
[_loadedRootComponent] 包:angular/src/core/application_ref.dart 96:27
src__runtime__optimizations.unsafeCast.run.dart.fn 包:angular/src/core/change_detection/host.dart 250:18
runInZone.dart.fn 包:angular/src/core/zone/ng_zone.dart 178:16
parent.run.dart.fn dart:sdk_internal
运行包:angular/src/core/zone/ng_zone.dart 175:18
[_run] dart:sdk_internal
运行包:angular/src/core/zone/ng_zone.dart 327:22
运行包:angular/src/core/application_ref.dart 140:51
runInZone 包:angular/src/core/change_detection/host.dart 248:5
运行包:angular/src/core/application_ref.dart 69:23
引导程序包:angular/src/bootstrap/run.dart 188:16
runApp main.dart 8:3
主要 main.dart.bootstrap.js 788:12
【问题讨论】:
-
pub.dartlang.org/packages/path_provider 允许您获取应用程序可以读写的有效目录的路径。你认为
new File("test.txt")来自哪里? -
它们在同一个文件夹中,所以我认为它会像在 Python 中一样抓取它,而 v1-dartlang-org.firebaseapp.com/dart-vm/io-library-tour 的示例我将尝试这样做,谢谢。
-
它看起来需要 SDK 版本
-
好吧,我想我只是在同一个链接
Important: Only Flutter mobile apps, command-line scripts, and servers can import and use dart:io, not web apps.上读到了一些东西,我想我需要找到另一种读取文件的方法,而不是使用这个库 -
这与 Angular 有什么关系?您是否尝试从 Angular 和 Flutter 之间共享的代码中读取文件?
标签: angular file io dart angular-dart