Android—文件进行数据存储(四中操作模式)
来源:互联网 发布:python metrics模块 编辑:程序博客网 时间:2024/05/01 11:54
简介:
Android进行文件存储主要有四种操作模式
1》Context.MODE_PRIVATE:默认模式,私有模式只能被本身应用进行访问,其它应用不能进行访问,本身应用访问文件,如果进行操作会对文件进行覆盖。
2》Context.MODE_APPEND:append模式下对文件访问会自动检查文件是否存在,会追加内容,如果文件不存在则进行创建文件。
3》MODE_WORLD_WRITEABLE:表示可以被其它应用对data\data\下的文件进行写,但不能进行读。
4》MODE_WORLD_READABLE:表示可以被其它应用对data\data\下的文件进行读,但不能进行写。
如何想读写:MODE_WORLD_WRITEABLE+MODE_WORLD_READEABLE
代码来了解四种操作模式:
提取方法:
private void fileWrite(String content, FileOutputStream fos)throws IOException {fos.write(content.getBytes());fos.close();}
工具类:public class IOUtil {public static String read(File file) throws Exception{FileInputStream fis=new FileInputStream(file);ByteArrayOutputStream outStream=new ByteArrayOutputStream();byte[] buff=new byte[1024];int len=0;while((len=fis.read(buff))!=-1){outStream.write(buff, 0, len);}fis.close();outStream.close();return new String(outStream.toByteArray());}}
1》我们先了解下Contex.MODE_PRIVATE
// 私有操作模式,創建出來的文件只能被本應由訪問,其它应由无法访问,写入文件的内容// 会覆盖原文件的内容FileOutputStream fos = context.openFileOutput(filename,Context.MODE_PRIVATE);fileWrite(content, fos);本身应用时可以访问的,其它应用不能访问。
2》Context.MODE_APPEND
File项目下: // 私有操作模式,創建出來的文件只能被本應由訪問,其它应由无法访问,写入文件的内容// 会覆盖原文件的内容FileOutputStream fos = context.openFileOutput(filename,Context.MODE_APPEND);fileWrite(content, fos);
Other项目下: String path="/data/data/com.example.file/files/Append.txt"; File file=new File(path); String content=IOUtil.read(file); Log.i(TAG,content);
抛出异常:java.io.FileNotFoundException:/data/data/com.example.file/files/Append.txt(Permission denied)
很明显权限不够
android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其它资源比如文件的时候,就需要userid匹配.
3》MODE_WORLD_WRITEABLE
File项目下 public void testWorld_writeable() throws Exception {FileService service = new FileService(this.getContext());service.saveWorld_writeable("World_writeable.txt","www.World_writeable.net");}
Other项目下 public void readWrite() throws Exception {String path="/data/data/com.example.file/files/World_writeable.txt";File file=new File(path);FileOutputStream fos=new FileOutputStream(file);fos.write("itcast".getBytes());fos.close();}
4》MODE_WORLD_READABLE
File项目下 public void saveWorld_readable(String filename, String content)throws Exception {// 私有操作模式,創建出來的文件只能被本應由訪問,其它应由无法访问,写入文件的内容// 会覆盖原文件的内容FileOutputStream fos = context.openFileOutput(filename,Context.MODE_WORLD_READABLE);fileWrite(content, fos);}
Other项目下public void readRead() throws Exception {String path="/data/data/com.example.file/files/World_readable.txt";File file=new File(path);String content=IOUtil.read(file);Log.i(TAG,content);}
可读可写:
MODE_WORLD_WRITEABLE+MODE_WORLD_READEABLE
File项目下 public void saveReadAndWrite(String filename, String content)throws Exception {FileOutputStream fos = context.openFileOutput(filename,Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);fileWrite(content, fos);}
Other项目下 public void readWriteRead() throws Exception {String path="/data/data/com.example.file/files/writeRead.txt";File file=new File(path);String content=IOUtil.read(file);Log.i(TAG,content);FileOutputStream fos=new FileOutputStream(file);fos.write("itcast".getBytes());fos.close();}
- Android—文件进行数据存储(四中操作模式)
- Android中使用SharedPreferences进行数据存储及文件操作模式
- Android中使用SharedPreferences进行数据存储及文件操作模式
- Android中使用SharedPreferences进行数据存储及文件操作模式
- Android中使用SharedPreferences进行数据存储及文件操作
- 四、用文件对数据进行存储
- Android中使用File文件进行数据存储
- 使用文件进行数据存储的模式
- Android 数据存储操作(2)——文件存储
- Android中数据存储——文件存储数据
- Android中数据存储——文件存储数据
- android之使用文件进行数据存储
- android基础---使用文件进行数据存储
- Android之使用文件进行数据存储
- Android如何使用文件进行数据存储
- Android 数据存储 之 使用文件进行数据存储
- 传智播客—Android(四)数据存储之四ContentProvider
- Android中使用SharedPreferences进行数据存储
- Android Create Menu的二级子菜单
- 自学HTML笔记之CSS属性
- Linux系统开机启动过程分析
- 从新浪微博与微信谈产品设计
- UVA 10303 - How Many Trees?(数论 卡特兰数 高精度)
- Android—文件进行数据存储(四中操作模式)
- MVC演化
- 【C/C++】定义无双引号的字符串宏
- 视图初尝
- SPI驱动之主控制器驱动程序
- MFC文件关联设置
- 小人快跑之WPF基础——图形与动画(一)
- UVA11137 Ingenuous Cubrency 完全背包 递推式子
- uva10765 - Doves and bombs