1、读取文件中的内容
public String readDataFromFile(Activity mainActivity){
String filename = "blacklist";
String rStr = null;
try {
//Log.i("read","read data from file");
FileInputStream fis=mainActivity.openFileInput(filename); //获得输入流
//用来获得内存缓冲区的数据,转换成字节数组
ByteArrayOutputStream stream=new ByteArrayOutputStream();
byte[] buffer=new byte[1024];
int length=-1;
while((length=fis.read(buffer))!=-1) {
stream.write(buffer,0,length);//获取内存缓冲区中的数据
}
stream.close(); //关闭
fis.close();
rStr = stream.toString();
//tv.setText(stream.toString()); //设置文本控件显示内容
//Toast.makeText(MyFile.this,"读取成功",Toast.LENGTH_LONG).show();//弹出Toast消息
} catch (FileNotFoundException e) {
//Toast.makeText(MyFile.this, "文件不存在", Toast.LENGTH_SHORT).show();
rStr = "nofile";
//e.printStackTrace();
}
catch (IOException e){
rStr = "openfile error";
//e.printStackTrace();
}
return rStr;
}
2,将数据写入到文件
{
String filename = "blacklist";
Log.i("save","save data"+data);
try {
//通过openFileOutput方法得到一个输出流,方法参数为创建的文件名(不能有斜杠),操作模式
//Context.MODE_APPEND 追加方式
FileOutputStream fos=mainActivity.openFileOutput(filename,Context.MODE_WORLD_READABLE);
fos.write(data.getBytes());//写入
fos.close(); // 关闭输出流
//弹出Toast消息
//Toast.makeText(MyFile.this,"保存成功",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e){
e.printStackTrace();
}
}