我在应用程序的子类中有一个方法,需要从文本文件中读取信息。我已经在 Activity 的子类中使用了此方法,它工作正常。
InputStream is = this.getResources().openRawResource(R.raw.elements);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String str = reader.readLine();
但是,如果我在应用程序子类中使用此代码,这将给出空指针异常。
文本文件位于 RES/RAW 文件夹中。
private String readTxt() {
InputStream inputStream = getResources().openRawResource(R.raw.elements);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i;
try {
i = inputStream.read();
while (i != -1) {
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return byteArrayOutputStream.toString();
}
工作完美,来源:在/res/raw 中显示文本文件