package com.filesave;
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;
/**
* 文件存储
* @author NanFeiLong
*/
public class MainActivity extends Activity {
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText1);
//启动时 读取上次保存的数据,并且提示成功
String inputTextout = load();
if(!TextUtils.isEmpty(inputTextout)){
editText.setText(inputTextout);
editText.setSelection(inputTextout.length());//将光标移至末尾
Toast.makeText(this, "还原成功", Toast.LENGTH_LONG).show();
}
}
/**
* 当推出程序时,保存输入的数据
*/
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
String inputText = editText.getText().toString();
save(inputText);
}
/**
* 读取保存的数据
* @return
*/
private String load() {
// TODO Auto-generated method stub
FileInputStream fileInputStream = null;
BufferedReader bufferedReader = null;
StringBuilder stringBuilder = new StringBuilder();
try {
fileInputStream = openFileInput("feilong");
bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
String line = "";
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(bufferedReader != null){
try {
bufferedReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return stringBuilder.toString();
}
/**
* 保存数据
* @param inputText
*/
private void save(String inputText) {
// TODO Auto-generated method stub
FileOutputStream fileOutputStream = null;
BufferedWriter bufferedWriter = null;
try {
//data/data/com.filesave/files/feilong
fileOutputStream = openFileOutput("feilong", Context.MODE_PRIVATE);
bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream));
bufferedWriter.write(inputText);
} catch (IOException e) {
e.printStackTrace();
} finally{
if(bufferedWriter!=null) {
try {
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
布局文件比较简单只有一个EdiText就没有给出。
运行程序,输入内容,然后点击Back退出程序。等到下次在重新启动程序时,会发保留了上次你输入的内容。如下图
package com.filesave;
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;
/**
* 文件存储
* @author NanFeiLong
*/
public class MainActivity extends Activity {
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText1);
//启动时 读取上次保存的数据,并且提示成功
String inputTextout = load();
if(!TextUtils.isEmpty(inputTextout)){
editText.setText(inputTextout);
editText.setSelection(inputTextout.length());//将光标移至末尾
Toast.makeText(this, "还原成功", Toast.LENGTH_LONG).show();
}
}
/**
* 当推出程序时,保存输入的数据
*/
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
String inputText = editText.getText().toString();
save(inputText);
}
/**
* 读取保存的数据
* @return
*/
private String load() {
// TODO Auto-generated method stub
FileInputStream fileInputStream = null;
BufferedReader bufferedReader = null;
StringBuilder stringBuilder = new StringBuilder();
try {
fileInputStream = openFileInput("feilong");
bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
String line = "";
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(bufferedReader != null){
try {
bufferedReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return stringBuilder.toString();
}
/**
* 保存数据
* @param inputText
*/
private void save(String inputText) {
// TODO Auto-generated method stub
FileOutputStream fileOutputStream = null;
BufferedWriter bufferedWriter = null;
try {
//data/data/com.filesave/files/feilong
fileOutputStream = openFileOutput("feilong", Context.MODE_PRIVATE);
bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream));
bufferedWriter.write(inputText);
} catch (IOException e) {
e.printStackTrace();
} finally{
if(bufferedWriter!=null) {
try {
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
布局文件比较简单只有一个EdiText就没有给出。
运行程序,输入内容,然后点击Back退出程序。等到下次在重新启动程序时,会发保留了上次你输入的内容。如下图
布局文件比较简单只有一个EdiText就没有给出。运行程序,输入内容,然后点击Back退出程序。等到下次在重新启动程序时,
会发现保留了上次你输入的内容。如下图
如果有不懂的,想要源码的也可以联系我。