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" />
原创粉丝点击