zoukankan      html  css  js  c++  java
  • Android学习之路十八:Write/Read

      Android中文件存放方式有很多种,而且对不同类型的文件读写操作也不一样,这里总结了下Android中常用的集中文件读写方式。包括数据区文件的读写,sdcard文件的读写,资源文件的读写。

      一、数据区文件的读写。

      数据区中的文件默认只能被自己的应用程序访问,存放路径为data/data/应用程序名/文件名。

    读:

    FileInputStream in = openFileInput(filename);

    int length = in.available();

    byte[] buf = new byte[length];

    in.read(buf);

    String res = EncodingUtils.getString(buf,"UTF-8");

    in.cloise();

    写:

    FileOutputStream out = openFileOutput(filename,MODE_PRIVATE);

    byte[] bytes = message.getBytes();

    out.write(bytes);

    out.close();

      二、sdcard文件的读写。

      向sdcard中写数据必须要添加权限android.permission.WRITE_EXTERNAL_STORAGE,存放路径为mnt/sdcard/文件名

    sdcard_filename = Environment.getExternalStorageDirectory()+"/"+filename;

    读:

    FileInputStream in = new FileInputStream(sdcard_filename);

    int length = in.available();

    byte[] buf = new byte[length];

    in.read(buf);

    String res = EncodingUtils.getString(buf,"UTF-8");

    in.close();

    写:

    FileOutputStream out = new FileOutputStream(sdcard_filename);

    byte[] bytes = message.getBytes();

    out.write(bytes);

    out.close();

      三、raw文件的读写。

      资源文件raw在res目录下,只能被读取,不能被写入。存放路径为应用程序名/res/raw/raw/文件名

    InputStream in = getResources().openRawResource(R.raw.filename);

    int length = in.available();

    byte[] buf = new byte[length];

    in.read(buf);

    String res = EncodingUtils.getString(buf,"UTF-8");

    in.close();

      四、assets文件的读取。

      资源文件assets在应用程序目录写,只能被读取,不能被写入,粗放路径为应用程序名/assets/文件名。

    InputStream in= getResources().getAssets().open(filename);

    int length = in.avilable();

    byte[] buf = new byte[length];

    in.read(buf);

    String res = EncodingUtiles.getString(buf,"UTF-8");

    in.close();

  • 相关阅读:
    3747 [POI2015]Kinoman
    1303 [CQOI2009]中位数图
    3769 [spoj 8549] BST again
    1015 [JSOI2008]星球大战starwar
    1193 [HNOI2006]马步距离
    合并Git仓库不相关历史版本解决方案
    vue-cli项目实现动态锚点定位
    jQuery加css3实现菜单栏组件(可无限添加子列表)
    JavaScript文件转成base64编码
    Ajax获取服务器响应头部信息
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2920369.html
Copyright © 2011-2022 走看看