一、将数据存储到文件中
Context类中提供了一个openFileOutput()方法,可以将数据存储到指定的文件中。接受两个参数,第一个是文件名,第二个是文件的操作模式,主要有两种可选,MODE_PRIVATE和MODE_APPEND。MODE_ORIVATE表示覆盖内容,MODE_APPEND表示追加内容。两种模式都会在文件不存在的时候闯将文件。
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();
}
}
}
protected void onDestroy() {
super.onDestroy();
Save(edit.getText().toString());
}二、从文件中读取数据
Context类中提供了一个openFileInput()方法,用于从文件中读取数据,接受一个文件名参数。
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 {
try{
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
return content.toString();
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView((R.layout.first_layout));
edit = (EditText) findViewById(R.id.edit);
String inputText = load();
if(!TextUtils.isEmpty(inputText))
{
edit.setText(inputText);
edit.setSelection(inputText.length());
Toast.makeText(Main2Activity.this,"加载数据成功",Toast.LENGTH_SHORT).show();
}
}