Dart无法读取ReadAsString同步

Dart无法读取ReadAsString同步,dart,flutter,flutter-test,flutter-dependencies,dart-2,Dart,Flutter,Flutter Test,Flutter Dependencies,Dart 2,我正在使用 Dart虚拟机版本:1.24.3(2017年12月13日星期三23:26:59)在“macos_x64”上 具有 颤振0.2.8•通道测试 框架•版本b397406561(13天前) 发动机•版本c903c217a1 工具•Dart 2.0.0-dev.43.0.颤振-52afcba357 ReadAsStringSync将给我一个空字符串作为输出,而不是所需的文件内容,我的代码是 var appl = new File('a.txt').readAsStringSync(); pr

我正在使用
Dart虚拟机版本:1.24.3(2017年12月13日星期三23:26:59)在“macos_x64”上
具有
颤振0.2.8•通道测试
框架•版本b397406561(13天前)
发动机•版本c903c217a1
工具•Dart 2.0.0-dev.43.0.颤振-52afcba357

ReadAsStringSync
将给我一个空字符串作为输出,而不是所需的文件内容,我的代码是

var appl = new File('a.txt').readAsStringSync();
print(appl);

另外,我需要readAsString方法的帮助,因为它返回一个
未来
,我想知道是否有任何方法或方法将其转换为
字符串

当您使用颤振时,Dart VM版本是不相关的。只有
flatter-doctor
flatter-version
提供的版本才是相关的。我正在尝试将返回字符串的值打印到其他地方,它将“Future”的**实例**作为输出,而不是带有“somplace-else”的字符串您可能的意思是,在方法签名中没有
async
,而没有
wait
。那不行。如果你能提供具体的代码,我可能会提出具体的建议在任何类和方法之外全局定义ie。然后我调用
void foo()async{a=wait readFile('/Users/rajatyadav97/desktop/flatter/assignment_teams/lib/a.txt');
并将其打印到
main()
中,它将null作为输出ps。很抱歉,我不熟悉dart并将
print(…)
堆叠到
main()
可能是在
a=wait readFile…
能够赋值之前执行的。我想你应该读一下async,
Future<String> readFile(String path) {
  return new File(path).readAsString();
}

void foo() async {
  var result = await readFile(path);
  print(result);
}
String readFile(String path) async {
  var result = await new File(path).readAsString();
  print(result);
  return result;
}