您的位置:首页 > 移动开发 > Android开发

android文件存储的五种方式简介

2015-11-09 00:00 591 查看
摘要: Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABL...

android的存储方式分为,SharedPreferences、文件存储数据 、数据库存储数据 、ContentProvider存储数据、网络存储,其中文件存储有以下几种模式,我们用一个小例子来说明:

首先我们新建一个android项目,预计显示界面如下:


然后再main函数中获取相应view,并且获得输入的数据,得到上下文对象:

private void init() {
button= (Button)findViewById(R.id.Button);
button.setOnClickListener(new ButtonClickListener());
}
private class ButtonClickListener implements View.OnClickListener{
private EditText filename;
private EditText fileview;
@Override
public void onClick(View v) {
filename =(EditText)findViewById(R.id.filename);
fileview = (EditText)findViewById(R.id.view);
String name = filename.getText().toString();
String view = fileview.getText().toString();
FileService service = new FileService(getApplicationContext());
}
}
}

接下来我们进行存储操作,新建一个类里面用来写存储方法:

首先写一个pravate的方法用mode_provate来存储数据:

public void save(String name, String view) throws Exception {
FileOutputStream outStream = context.openFileOutput(name, Context.MODE_PRIVATE);
outStream.write(view.getBytes());
outStream.close();
}

怎么指导文件是否保存成功了呢?这里我们捕获下异常,并对异常进行处理,

try {
service.save(name,view);
Toast.makeText(getApplicationContext(), "保存数据", 3).show();
} catch (Exception e) {
// TODO Auto-generated catch block

Toast.makeText(getApplicationContext(), "保存失败", 3).show();
e.printStackTrace();
}

打印输出语句保存成功与否,保存的文件只有程序本身有权限,再次写入会删除原有文件重新创建,如果想要其他程序可以对文件进行读写操作,可以使用openFileOutput(name, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);

只要原因是因为Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
l当他们两个以二进制存储的时候分别对应01,10.相加后为11,所有java可以对其进行识别。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: