尝试在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上设置它,这是一个悬而未决的问题.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...