用来访问本应用程序的数据文件夹下的IO流
下面程序给定文件名,进行读写操作
读操作:
private String read(){
try {
//打开文件的输入流
FileInputStream fis = openFileInput(FILE_NAME);
byte[] buff = new byte[1024];
int hasRead = 0; //记录每次循环读取的长度
StringBuilder sb = new StringBuilder();
while((hasRead=fis.read(buff))!=-1){
sb.append(new String(buff,0,hasRead));
}
return sb.toString();
}catch (Exception e){
e.printStackTrace();
}
return null;
}
写操作:
private void write(String content){
try{
//以追加模式打开文件输出流
FileOutputStream fos = openFileOutput(FILE_NAME,MODE_APPEND);
//将FileOutputStream包装成PrintStream
PrintStream ps = new PrintStream(fos);
ps.println(content);
ps.close();
}catch (Exception e){
e.printStackTrace();
}
}
界面设置两个按钮,两个编辑框,一个用来输入要保存的数据,一个用来显示读取的数据:
final String FILE_NAME = "/com.lune.io/1.txt";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button read = (Button)findViewById(R.id.read);
Button write = (Button)findViewById(R.id.write);
final EditText edit1 = (EditText)findViewById(R.id.edit1);
final EditText edit2 = (EditText)findViewById(R.id.edit2);
write.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
write(edit1.getText().toString());
edit1.setText("");
}
});
read.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edit2.setText(read());
}
});
}