【发布时间】:2020-04-28 01:15:29
【问题描述】:
当我运行以下函数时
_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 in ~/FTest/file_exist [12:16:41]
$ 颤振医生 -v [✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en-FR) • Flutter 版本 1.12.13+hotfix.5 位于 /usr/local/flutter • 框架修订 27321ebbad(4 周前),2019-12-10 18:15:01 -0800 • 引擎版本 2994f7e1e6 • Dart 版本 2.7.0
[!] Android 工具链 - 为 Android 设备开发(Android SDK 版本 28.0.3) • Android SDK 位于 /Users/jfb/Library/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
【问题讨论】:
-
你声明
WRITE_EXTERNAL_STORAGE&READ_EXTERNAL_STORAGE权限了吗? -
在上述评论之上,您是否检查过您使用
getApplicationDocumentsDirectory()获得的目录路径与您拥有data.txt文件的目录路径相同?附带说明一下,您为什么不按照指示运行flutter doctor --android-licenses来修复丢失的许可证?
标签: flutter