чтение текстового файла из r.raw на Android - PullRequest
1 голос
/ 05 августа 2011

У меня есть файл json в R.raw.test123,

Мне нужно обработать это с GSON.

Шаг первый;читать текст в строку, я хочу сделать это с помощью;

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

FileReader ожидает строку в качестве имени файла, но как я могу превратить R.raw.test123 в строку, которую я могу передать вFileReader.

Я около 4 часов гуглял по этому вопросу, но все еще не могу его найти.И я знаю, что это, вероятно, вопрос noob, но я новичок в программировании на дроидах, я пришел из .net, поэтому это все для меня очень ново ...

Спасибо,

Dennis

Ответы [ 2 ]

3 голосов
/ 05 августа 2011

В ответ на 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);.

2 голосов
/ 05 августа 2011

Как насчет следующих действий:

InputStream stream = getResources().openRawResource(R.raw.test123);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...