我有一个应用需要在连接到流时收集大量数据。我需要将这些数据保存到一个文件中,稍后我可以从我的设备中取出并使用标准计算机进行分析。
我的代码目前看起来像:
private void saveData(byte[] data){
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "_Ascent_Test.txt");
try {
FileOutputStream stream = new FileOutputStream(file, true);
stream.write(data);
stream.close();
Log.i("saveData", "Data Saved");
} catch (IOException e) {
Log.e("SAVE DATA", "Could not write file " + e.getMessage());
}
}
它正确地点击了“数据已保存”日志,没有任何错误,但是当我从我的计算机浏览它时,我无法在设备内部存储中的任何地方找到该文件。
我错过了什么?
谢谢。
编辑:我需要在 Nexus 7 上运行它
最佳答案
文件是不可见的,除非你让它们明确可用。看我的blog post about the MediaScanner阅读更多相关信息。
开发人员的工作是处理此问题并确保用户可能想要访问的所有文件都可供 MediaScanner 使用。
关于Android:将文件保存到可以稍后查看的下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14593066/