我在RAW文件夹中放置了一个“template.html”文件,我想将它读入InputStream。但它是返回null。不明白什么是错在下面的代码从Res文件夹中读取文件
e.g. fileName passed as parameter is "res/raw/testtemplate.html"
public String getFile(String fileName) {
InputStream input = this.getClass().getClassLoader().getResourceAsStream(fileName);
return getStringFromInputStream(input);
}
此外,还有可能通过把这些文件放在一个特定的子文件夹,并把它的资产文件夹内是一个更好的解决方案,但后来我相信我会需要通过上下文在AssetManager中。我不明白这个解决方案,对不起我是android开发新手。有人可以阐明如何实现这种方法。
编辑
我已经开始实施与资产这一解决方案。下面的方法应该返回一个字符串,其中包含存储为template.html文件的整个文本。
的GetFile( “template.html”)//我送延长这段时间
问题得到错误getAssets()是不确定的。
public String getFile(String fileName) {
BufferedReader reader = null;
StringBuilder sb = new StringBuilder();
String line;
try {
reader = new BufferedReader(new InputStreamReader(getAssets().open(fileName)));
while ((line = reader.readLine()) != null) {
sb.append(line);
}
}
catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return sb.toString();
}
可能重复[如何读取资源文件/ raw by name](http://stackoverflow.com/questions/15912825/how-to-read-file-from-res-raw-by-name) – 2014-10-28 08:12:22