Android积累之《文件的读取与保存》

来源:互联网 发布:c语言中=是什么意思 编辑:程序博客网 时间:2024/05/18 03:34

public class FileService
{
 private Context context;

 public FileService(Context context)
 {
  this.context = context;
 }

 public void saveToSDCard(String filename, String content) throws Exception
 {
  File file = new File(Environment.getExternalStorageDirectory(), filename);
  FileOutputStream outStream = new FileOutputStream(file);
  outStream.write(content.getBytes());
  outStream.close();
 }

 /**
  * 保存文件
  *
  * @param filename
  *            文件名称
  * @param content
  *            文件内容
  */
 public void save(String filename, String content) throws Exception
 {
  // 私有操作模式:创建出来的文件只能被本应用访问,其它应用无法访问该文件,另外采用私有操作模式创建的文件,写入文件中的内容会覆盖原文件的内容
  FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE);//默认的模式,文件为私有模式只能被自身访问,写入的文件会覆盖原有的文件。
  outStream.write(content.getBytes());
  outStream.close();
 }

文件保存的几种模式

Context.MODE_PRIVATE);//默认的模式,文件为私有模式只能被自身访问,写入的文件会覆盖原有的文件。
Context.MODE_APPEND;//模式检查是否文件是否存在,若存在就往文件里面追加内容,否则就创建新文件

Context.MODE_WORLD_READABLE;//表示当前文件可以被其他应用读取

Context.MODE_WORLD_WRITEABLE;//表示当前文件被其他应用写入

 

  /**
  * 读取文件内容
  *
  * @param filename
  *            文件名称
  * @return 文件内容
  * @throws Exception
  */
 public String read(String filename) throws Exception
 {
  FileInputStream inStream = context.openFileInput(filename);
  ByteArrayOutputStream outStream = new ByteArrayOutputStream();
  byte[] buffer = new byte[1024];// 设置读取字节数组的大小
  int len = 0;
  while ((len = inStream.read(buffer)) != -1)
  {// 判断是否读取完的方法
   outStream.write(buffer, 0, len);
  }
  byte[] data = outStream.toByteArray();// 输出
  return new String(data);
 }

}

原创粉丝点击