2014-12-24 3 views
3

Извините за этот вопрос, я любитель-программист.Как читать несколько файлов из каталога ресурсов

У меня есть 495 текстовых файлов в каталоге raw моего проекта, который я хочу прочитать. Проблема в том, что я могу только прочитать один из них со следующим кодом, но я не знаю, как читать все файлы.

пожалуйста, помогите мне,

try { 
    Resources res = getResources(); 
    InputStream in_s = res.openRawResource(R.raw.help); 

    byte[] b = new byte[in_s.available()]; 
    in_s.read(b); 
    txtHelp.setText(new String(b)); 
} catch (Exception e) { 
    // e.printStackTrace(); 
    txtHelp.setText("Error: can't show help."); 
} 

ответ

0
  1. Читать все Сырые имена ресурсов
  2. Получить фактический идентификатор (INT) и открыть ресурс, как InputStream

    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        MainActivity.context = getApplicationContext(); 
        setContentView(R.layout.activity_main); 
        Field[] fields = R.raw.class.getFields(); 
        String[] names = new String[fields.length]; 
    
        // Step 1: Read the names 
        for (int i = 0; i < fields.length; i++) { 
         names[i] = fields[i].getName(); 
        } 
        // Step 2: Read as InputStream 
        for (int i = 0 ; i < allStringsNames.length ; i++){ 
         int id = getResources().getIdentifier(names[i] , "raw", getPackageName()); 
         InputStream inputStream = getResources().openRawResource(id); 
         //Do your stuff with variable inputStream 
        } 
        } 
    
Смежные вопросы