尝试在android SD卡上创建只读文件失败

use*_*356 3 android

我正在尝试将只读文件写入SD卡.我需要将其作为两个步骤来完成.

public void method1(String cacheFilename) {
File cacheDir = mContext.getExternalCacheDir();
File cachedFileOnDisk = new File(cacheDir, cacheFilename);
FileOutputStream fileStream = new FileOutputStream(cachedFile);
fileStream.write(...)
fileStream.flush();
fileStream.close();
}
public void method2(String cacheFilename) {
   File cacheDir = mContext.getExternalCacheDir();
   File cachedFileOnDisk = new File(cacheDir, cacheFilename);
   if(!cachedFileOnDisk.setReadOnly()) {
       throw new IllegalStateException(); 
}
Run Code Online (Sandbox Code Playgroud)

调用method1然后在后续阶段方法2.该cachedFileOnDisk.setReadOnly()调用向我返回false,我无法将该文件设置为只读.

有没有办法可以将只读文件写入SD卡?

Chr*_*ton 5

SD卡使用FAT类型的文件系统,它不支持文件所有权.

在FAT的实现级别上可以支持只读位,但是由于具有sd卡写入权限的任何其他内容都可以自由地更改该位,因此该值将是有限的.鉴于价值有限,如果甚至可以在Android上设置它,这是一个悬而未决的问题.