我在R.raw.test123中有一个json文件,
我需要用GSON处理它。
第一步是;将文本读成字符串,我想用;
BufferedReader r = new BufferedReader(new FileReader(file));
FileReader需要一个字符串作为文件名,但是如何将R.raw.test123变成一个我可以传递给FileReader的字符串。
我已经用Google搜索了大约4个小时,仍然无法找到它。而且我知道这可能是一个菜鸟问题,但我是droid编程的新手,我来自.net背景,所以这对我来说都很新......
谢谢,
丹尼斯
答案 0 :(得分:3)
如 hooked82 所述,您可以使用inputstream
获取:
InputStream stream = getResources().openRawResource(R.raw.test123);
然后使用方法将其转换为字符串:
private static String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append((line + "\n"));
}
} catch (IOException e) {
Log.w("LOG", e.getMessage());
} finally {
try {
is.close();
} catch (IOException e) {
Log.w("LOG", e.getMessage());
}
}
return sb.toString();
}
因此,您可以使用convertStreamToString(stream);
获取字符串。
答案 1 :(得分:2)
如何做到以下几点:
InputStream stream = getResources().openRawResource(R.raw.test123);