我的Android笔记(七)—— 读取txt文件内容

众所周知,Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹,放置在raw文件夹下的内容会被原样打包,而不会被编译成二进制文件,并且可以通过R文件进行很方便地访问。

比如我们可以将更新信息、版权信息等放到txt文件中,然后放到raw文件中,然后很方便地进行访问。


在raw中放入一个a.txt文件,然后就可以在Activity中使用getResources().openRawResource(R.raw.a);方法获取一个此文件的InputStream类,而后就可以很方便地进行读写a.txt了。

 

  1. InputStream inputStream = getResources().openRawResource(R.raw.a);  

一个获取InputStream中字符串内容的方法:

 

  1. public static String getString(InputStream inputStream) {  
  2.     InputStreamReader inputStreamReader = null;  
  3.     try {  
  4.         inputStreamReader = new InputStreamReader(inputStream, "gbk");  
  5.     } catch (UnsupportedEncodingException e1) {  
  6.         e1.printStackTrace();  
  7.     }  
  8.     BufferedReader reader = new BufferedReader(inputStreamReader);  
  9.     StringBuffer sb = new StringBuffer("");  
  10.     String line;  
  11.     try {  
  12.         while ((line = reader.readLine()) != null) {  
  13.             sb.append(line);  
  14.             sb.append("\n");  
  15.         }  
  16.     } catch (IOException e) {  
  17.         e.printStackTrace();  
  18.     }  
  19.     return sb.toString();  
  20. }  

传入一个InputStream,返回其中的文本内容。

其中

  1. inputStreamReader = new InputStreamReader(inputStream, "gbk");  

为以gbk编码读取内容,不同的文本文件可能编码不同,如果出现乱码,可能需要调整编码。


我写了一个demo,演示此读取文本文件的方法——在raw文件夹中放入一个a.txt,然后将其中的内容读取出来,现在在TextView中。

下载地址:http://download.csdn.net/detail/barryhappy/4149973

运行效果:

                    

点击按钮,读取txt内容并显示:

posted @ 2013-03-07 10:17  天涯海角路  阅读(319)  评论(0)    收藏  举报