1

我在 R.raw.test123 中有一个 json 文件,

我需要用 GSON 处理它。

第一步是;将文本读入字符串,我想使用;

BufferedReader r = new BufferedReader(new FileReader(file));

FileReader 需要一个字符串作为文件名,但是如何将 R.raw.test123 转换为可以传递给 FileReader 的字符串。

我已经在这上面搜索了大约 4 个小时,仍然找不到它。而且我知道这可能是一个菜鸟问题,但我是 droid 编程新手,我来自 .net 背景,所以这对我来说都是全新的......

谢谢,

丹尼斯

4

2 回答 2

3

正如hooked82回答的那样,您可以使用 get inputstreamwith:

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);.

于 2011-08-05T08:46:58.380 回答
2

如何执行以下操作:

InputStream stream = getResources().openRawResource(R.raw.test123);
于 2011-08-05T08:35:10.960 回答