一、在程序当前目录下读写文件
1、将Textiew或Editiew的内容写入文件中
....
write(et1.getText().toString());//et为EditText,即调用write(String),目标文件在write()中
...
protected void write(String Content) {
// TODO Auto-generated method stub
try{
String name=et2.getText().toString()+".txt";//目标文件为name.txt
FileOutputStream out = openFileOutput(name,MODE_APPEND);//实例化文件输出流对象,不存在则自动新建
out.write(Content.getBytes());
out.close();//关闭文件流
}
catch(Exception e){
e.printStackTrace();
}
注意:(1) 在使用openFileOutput方法打开文件以写入数据时,需要指定打开模式。默认为零,即MODE_PRIVATE。
不同的模式对应的的含义如下:
常量 含义
MODE_PRIVATE 默认模式,文件只可以被调用该方法的应用程序访问
MODE_APPEND 如果文件已存在就向该文件的末尾继续写入数据,而不是覆盖原来的数据。
MODE_WORLD_READABLE 赋予所有的应用程序对该文件读的权限。
MODE_WORLD_WRITEABLE 赋予所有的应用程序对该文件写的权限。
2、将某文本文件的内容读出来显示
...
tv.setText(read());//tv为Textiew类型,将目标文件value的内容在tv上显示出来
...
private String read(){
try{
//实例化文件输入流对象
FileInputStream fis=openFileInput(value);
byte[] buffer=new byte[fis.available()];//读到缓冲区
fis.read(buffer);
return new String(buffer);
//try在读文件过程中会多次执行,不要随便加命令进去
}
catch(Exception e){
e.printStackTrace();
}
return null;
}