import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText editText1;
private EditText editText2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//绑定布局文件
editText1 = (EditText) findViewById(R.id.editText1);
editText2 = (EditText)findViewById(R.id.editText2);
String outputTextValue = load();
//Textutils.isEmpty()一手抓String不为空字符串,一手抓String 不为null;
if (TextUtils.isEmpty(outputTextValue)) {
editText2.setText(outputTextValue);
editText2.setSelection(outputTextValue.length());//光标放置在读入的字符串最后一边继续输入
MessageBox("Restoring succeeded!");
}
}
private void MessageBox(String string) {
// TODO 自动生成的方法存根
Toast.makeText(this, string, Toast.LENGTH_LONG).show();
}
private String load() {
// TODO 自动生成的方法存根
FileInputStream fileInputStream = null;
BufferedReader bufferReader= null;
StringBuilder content = new StringBuilder();//Packaging String to class
String line = "";
try {
fileInputStream = openFileInput("data");
bufferReader = new BufferedReader(new InputStreamReader(fileInputStream));
//read text
while ((line=bufferReader.readLine()) != null) {
content.append(line);
}
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}finally{
if(bufferReader != null){
try {
bufferReader.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
return content.toString();
}
@Override
protected void onDestroy() {
// TODO 自动生成的方法存根
super.onDestroy();
//获取editText编辑框中的值
String inputTextValue = editText1.getText().toString();
//调用保存文件的函数
save(inputTextValue);
}
public void save(String inputTextValue) {
// TODO 自动生成的方法存根
//数据
//目的:写入到文件,文件输出流,FileOutputStream
//缓冲区写入器,承接文件输出流,BufferedWriter
//输出流
FileOutputStream fileOutputStream= null;
//缓冲区写入
BufferedWriter bufferedWriter= null;
try {
//实现文件输出流
fileOutputStream = openFileOutput("data",Context.MODE_PRIVATE);//覆盖原有文件进行保存
//用BufferedWriter承接输出流
bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream));
//开始写入
bufferedWriter.write(inputTextValue);
} catch (IOException e1) {
// TODO: handle exception
e1.printStackTrace();
}finally{
try {
if (bufferedWriter != null) {
bufferedWriter.close();//关闭连接
}
} catch (IOException e2) {
// TODO: handle exception
e2.printStackTrace();
}
}
}
}
River的Android的学习笔记——数据持久化技术(文件存储)
最新推荐文章于 2020-10-01 22:07:52 发布