在项目的开发中,经常会遇到这样的问题需要把资源文件放在本地,所以我们需要读取资源文件,首先将txt文件放到res/raw文件夹下,通过代码将其读取并显示在屏幕上。
有两种方法一种是获取流,另一种是通过txt文件的路径获取其内容
1,通过一个InputStream获取内容
public static String getString(InputStream inputStream) {
InputStreamReader inputStreamReader = null;
try {
inputStreamReader = new InputStreamReader(inputStream, "gbk");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
BufferedReader reader = new BufferedReader(inputStreamReader);
StringBuffer sb = new StringBuffer("");
String line;
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
2,通过txt文件的路径获取其内容
public static String getString(String filepath) {
File file = new File(filepath);
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return getString(fileInputStream);
}
3,现在主要是采用第一种方法将raw的文件转成流的形式(例如:将txt文件命名为a.txt)
InputStream inputStream = getResources().openRawResource(R.raw.a);
之后通过类名调用getString()方法,将输入流传进去即可返回的字符串就是你要的内容了。