代码如下:
布局代码略:
1.Activity代码如下:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=(Button) findViewById(R.id.bn1);
button.setOnClickListener(new baoCun());
}
private final class baoCun implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText edit=(EditText) findViewById(R.id.edit_1);
EditText edit2=(EditText) findViewById(R.id.edit_2);
//获得需要保存的文件名称
String str1=edit.getText().toString();
//获得需要保存的内容
String str2=edit2.getText().toString();
//创建一个新的对象
FileService service=new FileService(getApplicationContext());
try {
//创建一个方法
service.save(str1,str2);
Toast.makeText(getApplicationContext(),"保存成功",Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//在Activity中创建的对象
2.FileService
public class FileService {
private Context context;
//创建一个构造方法,用来传值
public FileService(Context context) {
this.context = context;
}
//创建save方法传入文件名和文件内容作为参数:
public void save(String str1,String str2) throws Exception {
//创建文件流中的FileOutPutStream对象;用上下文的openFileOutPut方法打开文件,注意方法的参数一个是文件一个是访问权限
FileOutputStream outStream= context.openFileOutput(str1, context.MODE_PRIVATE);
//字符串转为字节形式
outStream.write(str2.getBytes());
outStream.close();
}
public String read(String str1) throws Exception{
FileInputStream inStream=context.openFileInput(str1);
//往内存中写数据
ByteArrayOutputStream outStream=new ByteArrayOutputStream();
//定义缓冲区
byte [] buffer=new byte[1024];
int len=0;
while((len=inStream.read(buffer))!=-1){
outStream.write(buffer, 0, len);
}
//获取内存中的所有文件
byte[]data=outStream.toByteArray();
return new String(data);
}
}