我无法从我的应用中查看数据。我基本上运行一个应用程序,并希望将数据保存在文本文件中。我的保存代码是:
try {
FileOutputStream out = openFileOutput(FILENAME, Context.MODE_APPEND);
out.write (entry.getBytes());
out.close();
} catch (Exception e) {
e.printStackTrace();
}
其中entry是包含我想要保存的数据的字符串。该应用程序运行正常,我可以查看日志中的数据。问题是我在Android设备管理器中找不到该文件 - >文件管理器 - >数据。当我点击数据时,它应该显示包,但它是空的。我想保存数据并在以后使用它进行处理。有人可以帮忙吗? TIA:)
Edit1:修改为在外部存储中写入。但是,这只是一个条目,并没有写更多。
FileOutputStream outputstream;
try {
file1 = new File(Environment.getExternalStorageDirectory(), "MyData");
outputstream = new FileOutputStream(file1);
OutputStreamWriter oswriter = new OutputStreamWriter(outputstream);
BufferedWriter bwriter = new BufferedWriter (oswriter);
bwriter.write(entry);
bwriter.newLine();
bwriter.close();
outputstream.close();
} catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:0)
我的猜测是你在设备上测试它。您在生产硬件上没有/data/
的任意访问权限,除非在root设备上。在模拟器上进行测试或使用adb shell run-as
从命令行访问应用程序的internal storage部分。
答案 1 :(得分:0)
您要保存的位置可能只能由您的应用访问。见docs。来自文档:
内部存储:
它始终可用。
此处保存的文件只能由您的应用访问。
当用户卸载您的应用时,系统会从内部存储中删除您的所有应用文件。
该文件不会显示在文件资源管理器中。您仍然可以在自己的应用中阅读它。