SD卡新写入文件为零字节,直到重新启动

时间:2017-08-15 13:38:08

标签: android file storage android-reboot

在2017年8月9日(Android 7.1.2)上使用最新Lineage OS的三星Galaxy S5:

我使用FileOutputStream写入SDCard上的app cache dir上的文件并关闭它。 SD卡未被采用。

File file = new File(fileName);
FileOutputStream fout = new FileOutputStream(file, true); // yes, append if exists
fout.write(buf, 0, len); // wrote a few MBs here
fout.close();

稍后,当我列出目录时,File.length()为0(零)而不是几MB。但是,我可以读取文件中的所有字节。但是尺寸仍显示为零。

File dir = new File(dirName);
File file = dir.listFiles()[index];
long fileSize = file.length(); // fileSize is zero until I reboot

其他应用程序(如Total Commander)也会看到零大小,但也可以将其复制到非零文件。

手机重启后,文件显示正确的大小。

工厂安装的文件浏览器,"文件"始终显示正确的大小。

此外,我尝试使用Android版本6.0,7.0,7.1,8.0的模拟器,但所有工作和大小都是正确的。

此外,内存(或模拟存储)也不会发生这种情况。只发生在SDCard上。

在阅读或写作时没有看到任何错误,异常等。

0 个答案:

没有答案