我是靠谱客的博主 和谐蛋挞,最近开发中收集的这篇文章主要介绍android读取资源文件的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

方法一:把目标文件放入resources文件中,以通过读取R的资源文件来获取,具体方式如下:

       1、在res下新建raw文件,将带读取文件添加到raw文件目录下。
   
       2、添加如下代码:

  1. // 如果要使用文件名获取文件数据:首先获取资源id然后再通过id获取输入流
  2.         /** String fileName = fileName;
  3.    String packetName = context.getPackageName();
  4.    //将fileName 转换成id 
  5.    int resId = context.getResources().getIdentifier(fileName, "raw", packetName);
  6.    ObjectInputStream ois = null;
  7.    InputStream im = context.getResources().openRawResource(resId); 
  8.         //其中getIdentifier三参数分别是:文件名,资源所在文件夹名(如:drawable, raw,),包路径 

  9.         */


  10.         InputStream im = getResources().openRawResource(R.raw.h_data11);
  11.         BufferedReader read = new BufferedReader(new InputStreamReader(im));
  12.         String line = "";
  13.         StringBuilder sb = new StringBuilder();
  14.         try {
  15.             while((line = read.readLine()) != null) {
  16.                 sb.append(line).append("n");
  17.             }
  18.         } catch (IOException e) {
  19.             e.printStackTrace();
  20.         } finally {
  21.             if(read != null) {
  22.                 try {
  23.                     read.close();
  24.                     read = null;
  25.                 } catch (IOException e) {
  26.                     e.printStackTrace();
  27.                 }
  28.             }
  29.             
  30.             if(im != null) {
  31.                 try {
  32.                     im.close();
  33.                     im = null;
  34.                 } catch (IOException e) {
  35.                     e.printStackTrace();
  36.                 }
  37.             }
  38.         }
  39.         Log.v("", "result = " + sb.toString());
复制代码
方法二:使用assets 只读文件进行读取。

        1、将文件copy到assets下,可以新建文件夹如:“www”然后将文件放入www文件夹中,读取的path为:"www/filename"
  1. String result = "";
  2.   
  3.   ObjectInputStream ois = null;
  4.   AssetManager am = context.getResources().getAssets();
  5.   try {
  6.       ois = new ObjectInputStream(am.open("www/filename"));
  7.       result = (String) ois.readObject();
  8.   } catch (StreamCorruptedException e) {
  9.       e.printStackTrace();
  10.   } catch (FileNotFoundException e) {
  11.       e.printStackTrace();
  12.   } catch (IOException e) {
  13.       e.printStackTrace();
  14.   } catch (ClassNotFoundException e) {
  15.       e.printStackTrace();
  16.   } finally {
  17.    try {
  18.     if (ois != null) {
  19.      ois.close();
  20.      ois = null;
  21.     }
  22.    } catch (IOException e) {
  23.     e.printStackTrace();
  24.    }
  25.   }
复制代码
以对象的方式读取文件中的数据,如果没有新建文件夹,把前面的“www/”去掉就ok啦

最后

以上就是和谐蛋挞为你收集整理的android读取资源文件的方法的全部内容,希望文章能够帮你解决android读取资源文件的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部