文件存储——安卓存储方案之二
来源:互联网 发布:全能数据恢复中文版 编辑:程序博客网 时间:2024/06/04 01:13
文件存储
△概述
→安卓提供了相关API,让你可以以流的方式去读写数据,这跟原来java里的流操作的方式基本一致,如果你对java流操作很熟悉,其实安卓里的文件操作没有什么特别新鲜的东西的。
→根据存储位置不同,文件存储可以分为内部存储(Internal storage)、外部存储(External storage)。
→内部存储的文件,属于你的应用私有文件,其他应用不能访问这个文件,用户也不能访问该文件,当你的应用被卸载,这些文件也会自动被删除掉。
△内部存储(Internal storage)的使用
想要写出一个文件,一共只有三个步骤,非常简单:
1,调用openFileOutput()方法获取"FileOutputStream"对象。
2,调用"FileOutputStream"对象里的write()方法写出相关数据。
3,调用"FileOutputStream"对象里的close()方法关闭该流。
openFIleOutput()方法接受两个参数,第一个是文件名字,第二个是操作模式。文件名字没有什么可解释的,操作方式共有四类:
1,MODE_PRIVATE:私有模式,注意如果使用这个模式,当你所传入的名字所对应的文件已经存在,文件原内容将会被全部覆盖。
2,MODE_APPEND:继续追加,如果所传入的名字所对应的文件已经存在,再往里面写数据时,不会覆盖源文件的内容,而是会在文件末尾追加内容。
3,MODE_WORLD_READABLE_:允许外界读取这个文件。
4,MODE_WORLD_WRITABLE:允许外界对该文件写入数据。
存储路径:通过这个方法所获得的流对象的文件都存储在:/data/data/<包名>/files/目录下面,不同文件仅仅通过文件名来区分。
代码示例,如下代码就将文件写出(写向硬盘):
String fileName = "fileName";String content = "content";try{//打开文件的输出流 FileOutputStream fos = openFileOutput(fileName, MODE_PRIVATE); fos.write(content.getBytes());//写入 fos.close();//关流}catch (Exception e){ Log.i("test", e.toString());}
想要读取一个文件,也很简单,步骤和之前的基本一样,只是方法换了一下。
1,调用openFileInput()方法获取"FileInputStream"对象。
2,调用"FileInputStream"对象里的read()方法读取字节数据。
3,调用"FIleInputStream"对象里的close()方法关流。如下代码读取刚才所写数据。
try {// 打开文件的读取流并且加入转换流和缓冲区里 BufferedReader bfrd = new BufferedReader(new InputStreamReader(openFileInput(fileName))); String data; while ((data = bfrd.readLine()) != null) { Log.i("test", data); }}catch (Exception e){ Log.i("test",e.toString());}
0 0
- 文件存储——安卓存储方案之二
- Android安卓——数据存储之文件存储
- 安卓——文件存储
- SharedPreferences——安卓存储方案之一
- Android安卓——数据存储之数据库存储
- [安卓基础]数据存储之文件
- 安卓文件存储
- 安卓数据存储1--文件存储
- Android存储之——文件存储
- 安卓内部存储之数据库存储
- 安卓数据存储之SharedPreferences存储
- 安卓数据存储之SharedPreferences存储
- 【Android安卓基础】 — Android测试&文件存储
- 安卓的文件存储
- kafka之二 文件存储
- 安卓数据保存之——内部存储
- 安卓存储之SharedPreference
- android数据存储方式之二 文件存储:内部存储
- sqlzoo练习答案--Self join
- CentOS7服务器安装
- 计算输入框的字符个数
- Android UI布局之LinearLayout
- eclipse pom文件配置项目注意
- 文件存储——安卓存储方案之二
- java将 Date原始格式EEE MMM dd HH:mm:ss Z yyyy"转成指定格式
- MapReduce的细节的介绍
- eclipse中properties文件编码问题
- Yii2 framework学习笔记(六) -- RBAC
- android ndk编译,方法找不到,collect2: ld returned 1 exit status
- Elasticsearch Java API 开发
- win10 ssd 卡顿
- setTimeout无效的解决方案(三)