android--持久化技术之文件存储

来源:互联网 发布:对数组元素的引用正确 编辑:程序博客网 时间:2024/05/17 13:39

文件存储是Android中最基本的一种存储方式,不对存储内容进行任何的格式化处理,比较适合存储一些简单的文本数据和二进制数据。

Context类中提供openFileOutput()方法,用于将数据存储到指定的文件当中,该方法存在两个参数,第一个参数指写入文件的名称,第二个参数指写入的文件模式。
注意:此处的文件名称不能包含路径,android读写的文件默认位于data/data//files中,文件模式包含两种:MODE_PRIVATE:重写覆盖模式;MODE_APPEND:追加模式
并且返回一个FileOutputStream对象,得到这个对象就可以按照Java的方式写入数据。

public void save(String data){        FileOutputStream out =  null;        BufferedWriter writer = null;        try{            out = openFileOutput("data",Context.MODE_APPEND);            writer = new BufferedWriter(new OutputStreamWriter(out));            writer.write(data);        }catch(IOException e){            e.printStackTrace();        }finally{            try{                if(writer != null){                    //关闭写入数据流                    writer.close();                }            }catch(IOException e){                e.printStackTrace();            }        }    }

关于读取文件,Context类中还提供了一个方法openFileInput().该方法只有一个文件名参数,返回FileInputStream对象,得到这个对象后即可按照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();    }

文件存储的方式并不适合保存较为复杂的文本数据。
而且安全性差。

0 0
原创粉丝点击