微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我正在尝试将只读文件写入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(); 
}

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

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

解决方法:

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐