无法使用await getApplicationDocumentsDirectory()创建本地文件;

时间:2020-01-10 11:28:43

标签: flutter

当我运行以下功能时

_makeFile() async{
  final dataFile = 'data.txt';
  final directory = await getApplicationDocumentsDirectory();
    final file = File('${directory.path}/$dataFile');

    var isExist = await file.exists();
    if (isExist) {
      print('File exists');
    } else {
      print('file does not exist');
    }

}

我明白了:

颤振:文件不存在

扑打医生:

jfb @ ezer在〜/ FTest / file_exist [12:16:41]

$扑医生-v [✓] Flutter(频道稳定,v1.12.13 + hotfix.5,在Mac OS X 10.15.2 19C57上,区域设置为en-FR) •位于/ usr / local / flutter的Flutter版本1.12.13 + hotfix.5 •Framework版本27321ebbad(4周前),2019-12-10 18:15:01 -0800 •发动机版本2994f7e1e6 •Dart版本2.7.0

[!] Android工具链-为Android设备开发(Android SDK版本28.0.3) •位于/ Users / jfb / Library / Android / sdk的Android SDK •未配置Android NDK位置(可选;对本机分析支持有用) •平台android-28,构建工具28.0.3 •Java二进制文件,位于:/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home/bin/java •Java版本Java(TM)SE Runtime Environment 18.3(内部版本10.0.2 + 13) !不接受某些Android许可证。要解决此问题,请运行:flutter doctor --android-licenses

[✓] Xcode-为iOS和macOS开发(Xcode 11.3) •Xcode位于/Applications/Xcode.app/Contents/Developer •Xcode 11.3,内部版本11C29 •CocoaPods版本1.8.3

[!] Android Studio(未安装) •找不到Android Studio;从https://developer.android.com/studio/index.html下载 (或访问https://flutter.dev/setup/#android-setup了解详细说明)。

[✓]已连接设备(1个可用) •iPhone 11 Pro Max•1669648E-FBC3-41D7-9DA0-8E4FF5EBB360•iOS• com.apple.CoreSimulator.SimRuntime.iOS-13-3(模拟器)

!医生发现了2类问题。

我只是不明白发生了什么,我使用这种方法来存储json没问题

感谢任何指针...

JF

1 个答案:

答案 0 :(得分:0)

此行:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div id="navbar" class="row">
    <div class="col-xs-4">
        <img id="logo" src="http://s.cdpn.io/3/kiwi.svg" alt="Logo">
    </div>
    <div class="col-xs-6">
        <a href="#">TEXT</a>
        <a href="#">TEXT</a>
        <a href="#">TEXT</a>
        <a href="#">TEXT</a>
    </div>
    <div class="col-xs-2">TEXT RIGHT</div>
</div>

不创建final file = File('${directory.path}/$dataFile'); ,而仅创建引用。

要创建File,您需要使用FilewriteAsString()

通过添加:

重试
writeAsBytes()