Androdi数据持久化

1.写入文件

 /**
     * read from file:从文件中读取文件
     */
    private void read() {
        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);
            Log.i(TAG,"read from data:"+content.toString());
        }catch (IOException e){
            e.printStackTrace();
            Log.i(TAG,"read IOException:"+e.toString());
        }finally {
            if(reader!=null){
                try {
                    reader.close();
                }catch (IOException e){
                    e.printStackTrace();
                    Log.i(TAG,"read finally IOException:"+e.toString());
                }
            }
        }
    }

    /**
     * sava string:保存String字符串
     * path:data/data/com.cnd.zhongkong.languageapp/files/data, reboot haven't exist: 重启后不存在
     * @param lan_is_en
     */
    private void save(String lan_is_en) {
        FileOutputStream out=null;
        BufferedWriter writer=null;
        try {
            out=openFileOutput("data", Context.MODE_PRIVATE);
            writer=new BufferedWriter(new OutputStreamWriter(out));
            writer.write(lan_is_en);
            Log.i(TAG,"save finish!");
        }catch (IOException e){
            e.printStackTrace();
            Log.i(TAG,"save IOException:"+e.toString());
        }finally {
            try {
                if(writer!=null)
                    writer.close();
            }catch (IOException e){
                e.printStackTrace();
                Log.i(TAG,"save finally IOException:"+e.toString());
            }
        }
    }

2.sharedpreferences

 /**
     * save at SharePreferences:data/data/com.cnd.zhongkong.languageapp/shared_prefs/data.xml,reboot haven't exist! 重启不存在
     */
    private void SharedPreferencessave() {
        SharedPreferences.Editor editor=getSharedPreferences("data",MODE_PRIVATE).edit();
        editor.putString("name","jack");
        editor.putInt("age",31);
        editor.apply();
    }

    /**
     * read from data:从SharedPreference中读取字段信息
     */
    private void readSharedPreference(){
        SharedPreferences preferences=getSharedPreferences("data",MODE_PRIVATE);
        String name=preferences.getString("name","");
        int age=preferences.getInt("age",0);
        Log.i(TAG,"name:"+name+",age:"+age);
    }


版权声明:本文为yhm2046原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。