Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio-我在实际设备上看不到使用FileOutputStream创建的文件_Java_Android_Android Studio_Fileoutputstream - Fatal编程技术网

Java Android Studio-我在实际设备上看不到使用FileOutputStream创建的文件

Java Android Studio-我在实际设备上看不到使用FileOutputStream创建的文件,java,android,android-studio,fileoutputstream,Java,Android,Android Studio,Fileoutputstream,因此,我正在创建的文件工作正常,并在模拟器上准确地显示了它们应该如何工作,我只是无法让它们导出到任何我可以在实际设备上看到它们的地方。这些文件需要在应用程序外部访问,但我似乎无法做到这一点 这就是我声明file变量的方式 File FeedingReport = new File(Environment.DIRECTORY_ALARMS, "Feeding_" + DateFormat.format(date) + ".csv"); 然后写 FeedingReport.createNewFil

因此,我正在创建的文件工作正常,并在模拟器上准确地显示了它们应该如何工作,我只是无法让它们导出到任何我可以在实际设备上看到它们的地方。这些文件需要在应用程序外部访问,但我似乎无法做到这一点

这就是我声明file变量的方式

File FeedingReport = new File(Environment.DIRECTORY_ALARMS, "Feeding_" + DateFormat.format(date) + ".csv");
然后写

FeedingReport.createNewFile();
FileOutputStream writer = openFileOutput(FeedingReport.getName(), MODE_WORLD_READABLE);

正如我所说,编写工作很好,因为在模拟器上一切都可以完美地工作。我已经设置了读写内部和外部存储的权限,正如您所看到的,我正在尝试加载我在实际手机上可以看到的不同目录,例如闹钟,但文件仍然没有显示在那里


无论我尝试什么,似乎都没有让我查看此文件,请帮助

尝试将您创建的新文件和目录通知系统:

MediaScannerConnection.scanFile(MainActivity.this, new String[] {filePathWrite.toString()}, null, null);

//filePathWrite is Environment.DIRECTORY_ALARMS, 
//"Feeding_" + DateFormat.format(date) + ".csv" in your case

我也遇到了同样的问题,但在中的答案解决了我的问题。

但是文件仍然没有显示在那里-您如何查找该文件?关闭FileOutputStream之前是否调用了同步?您是否使用MediaScannerConnection和scanFile让MediaStore的索引包含此新文件?为什么你认为使用MODE_WORLD_READABLE是一个好主意?我正在运行我的应用程序,然后在生成后进入手机上的my Files应用程序查找它。为什么模式世界可读性不是一个好主意?不,我没有做任何这些事情,我以前没有遇到过这些方法。奇怪的是,我在我看的教程中没有听说过它们。谢谢关于MODE_WORLD_READABLE,允许不受限制地访问您的文件通常被认为是糟糕的形式,而不仅仅是在Android上。它已经到了一个地步,模式_WORLD _READABLE不推荐使用IIRC。使用MODE_PRIVATE,如果需要共享文件,请使用类似FileProvider的工具。