【发布时间】:2016-12-15 23:53:52
【问题描述】:
我无法从我的应用中查看数据。我基本上正在运行一个应用程序,并希望将数据保存在文本文件中。我的保存代码是:
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();
}
【问题讨论】:
-
您是否尝试过使用 FileInputStream 从文件中读取并检查它?
-
@CommonsWare我猜是对的,因为它在内部存储中,所以你需要root,你实际上已经写入文件,只是尝试读取它。
-
谢谢二凡。我认为这是导致这种情况的内部存储节省。有没有其他方法可以在不root手机的情况下查看数据?
-
我想这可能会帮助你提取文件,虽然我自己没有这样做:developer.android.com/studio/profile/ddms.html
-
yw @KDK,我希望我能帮助你,但 Mark(Commonsware) 比我优秀得多 :) 顺便说一句,关于 MODE_APPEND,你可能想重新考虑使用它,尝试研究其他写入文件的mod,并选择合适的写入数据。
标签: android android-studio save fileoutputstream