android采用资源下的txt文件

2,139次阅读
没有评论

众所周知,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编码读取内容,不同的文本文件可能编码不同,如果出现乱码,可能需要调整编码。

 

 

正文完
 

公众号