您的位置:首页 > 运维架构

android 文件存储(openFileOutPut 和 openFileInput())

2016-06-22 13:57 609 查看
android 对文件进行存储,Activity 提供了openFileOutPut()吧数据保存到文件。代码如下:

public static void saveFile(Context context,String key ,String value,int mode){

  FileOutputStream fileOut = null;

  try {

   fileOut = context.openFileOutput(key, mode);   

   fileOut.write(value.getBytes());


  } catch (Exception e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }finally{

   DiskCacheCommonUtils.closeSliently(fileOut);

  }

  

 }


openFileOutPut()

参数一指定文件名称,不能包含路径分隔符“/”,如果文件不存在,android会自动创建,文件的路径为:data/data/<your package>/files 目录下。例如data/data/<your package>/files/key.txt

参数二指定文件操作模式:模式有四种:

Context.MODE_PRIVATE 系统默认的模式,代表该文件为私有数据,只能被本应用访问,写入的数据会覆盖原来的数据。

Context.MODE_APPEND  该模式会检查文件时候存在,不存在则创建,若存在,则把写入数据追加到文件末尾

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITABLE 来控制其他应用是否有权来访问该文件

Context.MODE_WORLD_READABLE 标识该文件可以被其他应用访问

Context.MODE_WORLD_WRITABLE 
该文件可以被其他应用写入


 

读取文件内容

 

public static String getFile(Context context,String key){

  String fileStr = "";

  BufferedReader reader = null;

  try {

   reader = new BufferedReader(new InputStreamReader(context.openFileInput(key)));

   String str = "";

   while((str = reader.readLine()) !=null){

    fileStr += str;

   }


  } catch (Exception e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }finally{

           DiskCacheCommonUtils.closeSliently(reader);

  }

  return fileStr;

 }

 


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: