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中字符串内容的方法:传入一个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 }
以gbk编码读取内容,不同的文本文件可能编码不同,如果出现乱码,可能需要调整编码。
1 inputStreamReader = new InputStreamReader(inputStream, "gbk");