2011-02-13 67 views
9

我想创建内部高速缓存目录,我将存储图像和尝试了以下.nomedia文件..写隐藏文件.nomedia失败的内部存储空间

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

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

我也试过这与FileOutputStream和写入文件中的数据,因为我只是被创建一个空文件,但这也不起作用。

任何人都有一个想法,为什么这可能会失败?

回答

8

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

File.createNewFile()文档说:

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

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

+0

是的文件正在创建,它显示了一个ls -a,它并没有显示在DDMS的文件资源管理器中,虽然所以我认为它还没有被创建,谢谢。 – Azalar 2011-02-13 18:44:41