1:activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_filename" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="文件名称"/> <EditText android:id="@+id/et_filename" android:layout_below="@id/tv_filename" android:layout_width="match_parent" android:layout_height="wrap_content"/> <TextView android:id="@+id/tv_content" android:layout_below="@id/et_filename" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="文件内容"/> <EditText android:id="@+id/et_content" android:layout_below="@id/tv_content" android:layout_width="match_parent" android:layout_height="wrap_content"/> <Button android:id="@+id/btn_save" android:layout_below="@id/et_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="保存"/> <Button android:id="@+id/btn_read" android:layout_below="@id/btn_save" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="读取"/> </RelativeLayout>
2:文件操作类:FileService.java
public class FileService {
private Context context=null;
public FileService(Context context){
this.context=context;
}
//save file
public void saveFile(String filename,String content) throws Exception{
FileOutputStream out=context.openFileOutput(filename, Context.MODE_PRIVATE);
out.write(content.getBytes());
out.close();
}
//read file
public String readFile(String filename)throws Exception{
FileInputStream is=context.openFileInput(filename);
byte b[]=new byte[1024];
int len=0;
ByteArrayOutputStream baos=new ByteArrayOutputStream();
//先把数据写入内存
while((len=is.read(b))!=-1){
baos.write(b,0,len);
}
//从内存中读取数据
byte data[]=baos.toByteArray();
baos.close();
is.close();
return new String(data);
}
}
3:MainActivity.java
public class MainActivity extends Activity {
private FileService fileService=null;
private Button btnSave=null,btnRead=null;
private EditText etFilename=null;
private EditText etContent=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSave=(Button)findViewById(R.id.btn_save);
btnRead=(Button)findViewById(R.id.btn_read);
etFilename=(EditText)findViewById(R.id.et_filename);
etContent=(EditText)findViewById(R.id.et_content);
fileService=new FileService(MainActivity.this);
btnSave.setOnClickListener(new OnClickListener(){
public void onClick(View view){
String filename=etFilename.getText().toString();
String content=etContent.getText().toString();
try {
fileService.saveFile(filename, content);
Toast.makeText(MainActivity.this, "Save file success!", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(MainActivity.this, "Save file error!", Toast.LENGTH_SHORT).show();
}
}
});
btnRead.setOnClickListener(new OnClickListener(){
public void onClick(View view){
String filename=etFilename.getText().toString();
try {
String text=fileService.readFile(filename);
etContent.setText(text);
} catch (Exception e) {
Toast.makeText(MainActivity.this, "Read file error!", Toast.LENGTH_SHORT).show();
}
}
});
}
}
4:运行结果