在 Android 上从 r.raw 读取文本文件

发布于 2024-11-28 04:51:56 字数 369 浏览 1 评论 0原文

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

我需要用 GSON 处理它。

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

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

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

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

谢谢,

丹尼斯

I've got a json file in R.raw.test123,

I need to process that with GSON.

Step one is; read the text into a string, I want to do that using;

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

The FileReader expects a string as filename, but how do I turn R.raw.test123 into a string which I can pass to the FileReader.

I've googled for about 4 hours on this, still can't find it. And I know its probally a noob question, but I'm new to droid programming, I come from a .net background, so this is all very new to me...

Thanks,

Dennis

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

醉殇 2024-12-05 04:51:56

正如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)获取字符串;

As answered by hooked82 you can use get the inputstream with:

InputStream stream = getResources().openRawResource(R.raw.test123);

and then using method to convert it into string:

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();
}

So you can get the string with convertStreamToString(stream);.

凉城 2024-12-05 04:51:56

怎么样做以下事情:

InputStream stream = getResources().openRawResource(R.raw.test123);

How about doing the following:

InputStream stream = getResources().openRawResource(R.raw.test123);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文