在内部存储上写入隐藏文件.nomedia失败

时间:2011-02-13 18:10:08

标签: android

我想在内部缓存目录中创建.nomedia文件,我将存储图像并尝试以下内容。

File dir = getCacheDir();
File output = new File(dir, ".nomedia");
boolean fileCreated = output.createNewFile();

当我尝试此fileCreated为false且文件未创建时。 如果我使用没有点的nomedia文件会被创建,但这是没有用的,因为MediaScanner正在查看.nomedia文件是否存在。

我还尝试使用FileOutputStream并在文件中写入数据,因为我只创建了一个空文件,但这也不起作用。

任何人都知道为什么会失败?

1 个答案:

答案 0 :(得分:9)

嗯,你真的确定文件还不存在吗?请注意,您需要ls -a查看以点开头的文件。

File.createNewFile()的文档说:

  

如果文件已经存在,则返回true   已创建,如果已存在,则为false。

如果文件不是出于其他原因(即安全性)而创建的,则应抛出异常。