2015-01-03 3 views
2

У меня есть txt-файл с именем «max_easy.txt» в/raw папке, в этом файле записано число, в данном случае в «0» ... Я хочу var, у которого есть 0 как значение Int, как это сделать?Как преобразовать InputStream в int

Я предполагаю, что эта строка дает мне значение String, как мне его преобразовать?

InputStream letturaEasy = getResources().openRawResource(R.raw.max_easy); 

ответ

1

Если это то, что вы получили до сих пор:

InputStream letturaEasy = getResources().openRawResource(R.raw.max_easy); 

Тогда все, что должно быть сделано, чтобы преобразовать его в Строка:

String result = getStringFromInputStream(letturaEasy); 

И, наконец, до int:

int num = Integer.parseInt(result); 

Кстати, getStringFromInputStream() был реализован here:

private static String getStringFromInputStream(InputStream is) { 

    BufferedReader br = null; 
    StringBuilder sb = new StringBuilder(); 

    String line; 
    try { 

     br = new BufferedReader(new InputStreamReader(is)); 
     while ((line = br.readLine()) != null) { 
      sb.append(line); 
     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     if (br != null) { 
      try { 
       br.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

    return sb.toString();  
} 
+0

Метод getStringFromInputStream() не может быть решена, поэтому я попытался это:. Струнные valore1 = GetResources() getResourceEntryName (R.raw. max_easy); int num = Integer.parseInt (valore1); EasyTxt.setText (num); // строка будет отображаться в этом текстовом виде , но как только действие начнет работать, перестань работать, так как Android Studio не дает мне никаких ошибок ... почему? :( – xflea

+0

Обновлен ответ, извините. – karlphillip

+0

Отлично, теперь приложение работает нормально! Благодарим за помощь! – xflea

0

Вы можете использовать BufferedReader читать строки как строки из этого файла. Integer.parseInt будет разбирать их Интс:

try(BufferedReader reader = new BufferedReader(new InputStreamReader(letturaEasy, "UTF8"))) { 
    int n = Integer.parseInt(reader.readLine()); 
}