Android数据存储之文件存储
来源:互联网 发布:淘宝t恤 编辑:程序博客网 时间:2024/06/09 18:05
一、介绍
以文件的形式存储数据信息,默认存储的位置是sdcard。
二、应用场景
存储一些简单的文本数据或者二进制数据。
三、存储步骤
1.判断是否存在外部存储器;
2.通过Context提供了两个方法来打开数据文件里的文件IO流 FileInputStream openFileInput(String name); FileOutputStream(String name , int mode),这两个方法第一个参数 用于指定文件名,第二个参数指定打开文件的模式。具体有以下值可选:
MODE_PRIVATE:
为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可 以使用Context.MODE_APPEND
MODE_APPEND:
模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件,且当前文件可以被其他应用读取;
MODE_WORLD_WRITEABLE:
表示当前文件可以被其他应用写入。
3.写入或者读取文件信息。
四、示例代码
package com.example.storagedemo;import java.io.FileInputStream;import java.io.FileOutputStream;import android.content.Context;public class FileStorageUtil { public static String read(Context context) { try { FileInputStream inStream = context.openFileInput("message.txt"); byte[] buffer = new byte[1024]; int hasRead = 0; StringBuilder sb = new StringBuilder(); while ((hasRead = inStream.read(buffer)) != -1) { sb.append(new String(buffer, 0, hasRead)); } inStream.close(); return sb.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } public static void write(Context context,String msg){ // 步骤1:获取输入值 if(msg == null) return; try { // 步骤2:创建一个FileOutputStream对象,MODE_APPEND追加模式 FileOutputStream fos = context.openFileOutput("message.txt", Context.MODE_APPEND); // 步骤3:将获取过来的值放入文件 fos.write(msg.getBytes()); // 步骤4:关闭数据流 fos.close(); } catch (Exception e) { e.printStackTrace(); } }}
记得添加SdCard访问权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
阅读全文
0 0
- Android数据存储之文件存储数据
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之“文件存储“
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- Android数据存储之文件存储
- liunx 下的vi编辑器常用命令
- eclipse导入myeclipse中的项目
- 故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序
- 浏览器内核
- Oracle 用户解锁
- Android数据存储之文件存储
- 【3】vim查找替换
- nginx常用命令及部署问题
- kernel panic 调试方法(1)
- PHP消息队列实现及应用:消息队列概念介绍
- Spark上的深度学习框架BigDL 介绍
- 最全前端开发资源汇集
- Leetcode刷题 Day6 217. Contains Duplicate
- 广州地铁五号线PSCADA系统介绍