Android持久化之文件存储

实现数据持久化主要有3种:文件存储、sharedpreferences、sqlite数据库。这里要讲的是文件存储。

文件存储不对内容进行任何的格式化处理,所有的数据都是原封不动地保存到文件中的,所以它适合存储一些简单的文本数据二进制数据

·将数据存储到文件

Context类提供了一个FileOutputStream openFileOutput(string FileName, int Mode)用于将数据存储到指定文件

参数一:string FileName文件名,默认存储到/data/data/<package name>/files/目录下

参数二:int Mode文件操作模式,默认MODE_PRIVATE,还有MODE_APPEND

返回值:返回FileOutputStream对象,然后就可以使用java流的方式将数据写入文件了

public void save(string data){
    FileOutputStream out=null;
    BufferedWriter writer=null;
    
    try{
        //获取FileOutputStream对象,并写入文件
        out=openFileOutput("fliename",Context.MODE_PRIVATE);
        writer=new BufferedWriter=(new OutputSreamWriter(out));
        writerwriter(data);//将数据写入文件
    catch(IOException e){
        e.printStackTrace();
    }finally{//如果writer不为null,一定要关闭
        try{
            if(writer != null){
                writer.close();//关闭流
            }
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}

 ·从文件读取数据

Context类提供了一个FileInputStream openFileInput(string FileName)用于从文件读取数据

参数一:string FileName,指定文件名

返回值:返回FileInputStream对象,然后就可以使用java流的方式读取文件了

public string read(){
    FileInputStream in=null;
    BufferedReader reader=null;
    StringBuilder builder=new StringBuilder();//存储读取出来的数据
    try{
        in=openFileInput("data")//获取与文件data关联的FileInputStream对象
        reader=new BufferedReader(new InputStreamReader(in));
        //一行一行的读取
        String line="";
        while((line = reader.readline())!=null){
            builder.append(line);//将读取出来的数据一行一行的暂存在builder
        }
     }catch(IOException e){
        e.printStackTrace();
     }finally{ //如果文件流不为空,一定要关闭
        try{
            if(reader != null){
                writer.close();//关闭流
            }
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值