2016-06-06 7 views
-3

Wie liest man TXT-Datei aus Drawable oder einem anderen Ordner in Android mit FileInputStream?Read TXT-Datei von Zeichnungsordner in Android

Ich habe eine .txt-Datei in meinem Zeichnungsordner. Wie kann ich die Datei lesen und in Textview einstellen?

+3

Kennen Sie "Google"? Es ist der bessere Browser, um Probleme zu suchen, zum Beispiel '" Wie man Dateien Android liest ", versuchen Sie es, Google ist es Ihr Freund. – Aspicas

+3

Sie können Ihre .txt nicht unter drawbar platzieren, die Kompilierungstools werden Fehler melden. Es muss eine .xml- oder .png-Datei sein. – alijandro

+2

Legen Sie Ihre Textdatei in den Ordner "Assets" –

Antwort

2

Diese mit Hilfe dieser Versuchen u Datei aus ziehbar Ordner

 String data = ""; 
     StringBuffer sbuffer = new StringBuffer(); 
     InputStream is = this.getResources().openRawResource(+ 
       R.drawable.filetoread); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
     if (is != null) { 
      try { 
       while ((data = reader.readLine()) != null) { 
        sbuffer.append(data + "\n"); 
       } 
       is.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     data = sbuffer.toString(), 
     } 
+0

Obwohl sich Textdateien nicht im Zeichnungsordner befinden, wie von @Abdul Fatir angegeben, ist dies nützlich, um z. B. gif-Dateien zu kopieren, die nicht als Bitmap kopiert werden können. –

1

Warum würden Sie behalten möchten Ihre .txt im drawable/ Ordner lesen kann? Es ist besser, dass Sie es stattdessen im Ordner assets aufbewahren und es lesen, wie in dieser SO beschrieben.

BufferedReader reader = null; 
try { 
    reader = new BufferedReader(
     new InputStreamReader(getAssets().open("filename.txt"))); 

    // do reading, usually loop until end of file reading 
    String mLine; 
    while ((mLine = reader.readLine()) != null) { 
     //process line 
     ... 
    } 
} catch (IOException e) { 
    //log the exception 
} finally { 
    if (reader != null) { 
     try { 
      reader.close(); 
     } catch (IOException e) { 
      //log the exception 
     } 
    } 
}