dart 如何打开/查找由path_provider创建的文件?

zengzsys  于 12个月前  发布在  其他
关注(0)|答案(5)|浏览(131)

我是flutter和dart的初学者,在使用flutter处理文件时遇到了一些问题。
我尝试将数据存储在我的flutter应用程序的文本文件中,在flutter的网站上看到了使用path_provider和dart:io的标准教程。它有关于获取路径和阅读并写入文件的说明,但是这似乎对我添加到项目中的文件不起作用。存储文件的唯一方法是首先使用内置函数写入,然后阅读这个新创建的文件。我不能添加自己的文件并使用flutter读取它。
我也不能打开flutter创建的文件,因为我不知道它存储在哪里。getApplicationDocumentsDirectory()给出的路径返回路径/data/user/0/com.example.daily_challenges/app_flutter,我不知道在我的项目中的哪里可以找到它。
总结:如何读取预先存在的文件以及如何查看flutter自动创建的文件。
Thanks:)

2cmtqfgy

2cmtqfgy1#

您可以通过Android Studio中的设备文件资源管理器从物理设备或模拟器访问这些文件。

xfyts7mz

xfyts7mz2#

您将无法访问getApplicationDocumentsDirectory()。如果您使用的是Android设备,您可以尝试将其存储在getExternalDocumentsDirectory()中。虽然IOS中没有等效的。

ibps3vxo

ibps3vxo3#

如果您在物理设备中运行。在Android Studio中打开设备文件资源管理器,您可以在data/data/your app package/app_flutter/fileName.txt下找到该文件
例如,data/data/com. example. file_example/app_flutter/example. txt
如果你想读取预先存在的文件,你不需要任何特定的东西,如果你给予相同的文件名,如果不存在,它会创建一个,否则它会返回旧的。

final File file = File(filePath);
file.writeAsStringSync('${text}', mode: FileMode.append);

字符串
对于写,如果你想在现有文件中添加文本,你可以考虑使用FileMode。否则默认情况下会发生覆盖。
对于阅读,您可以考虑

final File file = File(filePath);
String text = await file.readAsString();

oknrviil

oknrviil4#

只需使用Android Studio中的设备文件资源管理器。
但奇怪的是,path_provider给你的路径像/data/user/0/your_app_id/...,但实际上所有的文件都位于/data/data/your_app_id/...,如前所述的答案。

b4lqfgs4

b4lqfgs45#

对于IOS,您应该将以下代码添加到info.plist文件(在ios/runner中)

<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>UIFileSharingEnabled</key>
<true/>

字符串
之后你可以使用getApplicationDocumentsDirectory()和保存你的文件在存储.

相关问题