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();

  • 相关阅读:
    Java中如何设置表格处于不可编辑状态
    Android界面实现不成功(无报错)
    Eclipse网页报错
    【蓝桥杯】基础练习 十六进制转八进制 Java语言
    分析算法的复杂度
    Android Studio安装错误及解决办法
    Android程序报错以及解决办法
    Genymotion安装使用(配合Android Studio)
    Eclipse导入本地项目并运行
    蓝桥杯Java——安装软件Eclipse以及JDK
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2920369.html
Copyright © 2011-2022 走看看