2017-08-27 5 views
0

mit diesem Code unten versuche ich zu Datei zuzugreifen, die das auf asset/raw Ordner gespeichert, aber ich bekomme null undAndroid get-Datei aus dem Asset/raw

E/ERR: file:/android_asset/raw/default_book.txt (No such file or directory) 

Fehler, mein Code:

private void implementingDefaultBook() { 
    String filePath = Uri.parse("file:///android_asset/raw/default_book.txt").toString(); 
    File file  = new File(filePath); 
    try { 
     FileInputStream stream  = new FileInputStream(file); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     Log.e("ERR ", e.getMessage()); 
    } catch (OutOfMemoryError e) { 
     e.printStackTrace(); 
    } 
} 

enter image description here

Antwort

0

Legen Sie Ihre Textdatei in das Verzeichnis/assets und Verwenden Sie das Android-Projekt und verwenden Sie die AssetManager-Klasse wie folgt, um darauf zuzugreifen.

AssetManager am = context.getAssets(); 
InputStream is = am.open("default_book.txt"); 

Oder Sie können auch die Datei im Verzeichnis/res/raw Verzeichnis abgelegt, von wo aus die Datei durch eine ID zugegriffen werden kann wie folgt

InputStream is = 
context.getResources().openRawResource(R.raw.default_book); 
+0

Ich hoffe, dass Sie geholfen. Plz akzeptieren die Antwort und upvote es. Vielen Dank :) –

2

Assets und Ressourcen sind Dateien auf Ihrer Entwicklungsmaschine. Sie sind keine Dateien auf dem Gerät.

Verwenden Sie für Assets open() unter AssetManager, um eine InputStream auf Ihrem Asset zu erhalten.

Auch FWIW:

  • Uri.parse("file:///android_asset/raw/default_book.txt").toString() ist sinnlos, da Sie die gleiche Zeichenfolge gibt, die Sie mit

  • file:///android_asset/ begann funktioniert nur für WebView

0
InputStream is = getAssets().open("default_book.txt"); 
Verwandte Themen