布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/editText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="写入文件的内容" />
<Button
android:id="@+id/read"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editText"
android:text="读取文件" />
<Button
android:id="@+id/write"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/read"
android:text="写入文件" />
<TextView
android:id="@+id/show"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/write"
android:text="" />
</RelativeLayout>
源代码:
package com.dinglitouzi;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PrintStream;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.app.Activity;
import android.content.Context;
public class MainActivity extends Activity implements OnClickListener {
String FILE_NAME="wang.txt";
private Button read_btn;
private Button write_btn;
private EditText String_et;
private TextView show_tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
read_btn=(Button) findViewById(R.id.read);
write_btn=(Button) findViewById(R.id.write);
String_et=(EditText) findViewById(R.id.editText);
show_tv=(TextView) findViewById(R.id.show);
read_btn.setOnClickListener(this);
write_btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.read:
String strContent=readFile(FILE_NAME);
if (strContent!=null) {
show_tv.setText(strContent);
}
break;
case R.id.write:
String str=String_et.getText().toString();
writeFile(str, FILE_NAME);
break;
default:
break;
}
}
/**
* 读取方法
* @param fileName 文件名
* @return
*/
private String readFile(String fileName){
try {
FileInputStream fis=openFileInput(fileName);
byte[]buff=new byte[1024];
int hasRead=0;
StringBuffer sb=new StringBuffer("");
while ((hasRead=fis.read(buff))>0) {
sb.append(new String(buff,0,hasRead));
}
fis.close();
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 写入方法
* @param content 写入文件的字符串
* @param fileName 文件名
*/
private void writeFile(String content,String fileName){
try {
FileOutputStream fos=openFileOutput(fileName, Context.MODE_APPEND);
PrintStream ps=new PrintStream(fos);
ps.print(content);
ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}