android数据持久化存储(1)

文件存储:

  所谓的文件存储,就是将数据存储在文件中,不对数据有任何的格式转换处理,所有的数据都将数原封不动的保存到文件当中去,这种方式比较适合存储一些简单的文本数据或者二进制数据,比如评论的时候,中途退出,这时候讲评论采用文件存储是极好的。下面我们就来看看具体用法。

  作为文件存储主要有两大部分,第一如何讲文件存储到文件当中,第二如何讲数据从文件当中取出来。

将数据存储到文件中:

   context类中提供一个openfileoutput()方法,可以用于将数据存储到指定的文件中,这个方法接受两个参数,第一个参数是文件名,在文件创建的时候使用的就是这个名称,注意这里指定的文件名不可以包含路径,第二参数是文件的操作模式,主要是两种模式,mode_private所写入的内容将会覆盖原文件的内容,mode_append将以存在就往文件里面追加内容,不存在就创建新文件。openfileoutput()方法返回的是一个fileoutputstream对象,得到这个对象就可以使用java流的方式将数据写入到文件中了。

 public void save(String inputText) {
        FileOutputStream out = null;
        BufferedWriter writer = null;
        try {
            out = openFileOutput("data", Context.MODE_PRIVATE);
            writer = new BufferedWriter(new OutputStreamWriter(out));
            writer.write(inputText);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                {
                    if (writer != null) {
                        writer.close();
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

从文件中读取数据

类似于将数据存储到文件中,context类中还提供了一个openfileinput()方法,用于从文件中读取数据,这个方法只接受一个参数,即要读取的文件名,并返回一个fileinputstram对象,得到这个对象之后再通过java流方式就可以将数据读取出来了。

  public String  load(){
        FileInputStream in=null;
        BufferedReader reader=null;
        StringBuilder content=new StringBuilder();
        try {
            in=openFileInput("data");
            reader=new BufferedReader(new InputStreamReader(in));
            String line="";
            while ((line=reader.readLine())!=null){
                content.append(line);
            }
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            if (reader!=null){
                try{
                        reader.close();
                }catch (IOException e){
                    e.printStackTrace();
                }
         
            }
            return content.toString();
        }
       
    }

  

 

转载于:https://www.cnblogs.com/aizhiyuan/p/5306687.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值