2016-09-23 4 views
0

je tente de créer un projet qui peut à lire txt fichiers mais montrer l'erreur suivante:Comment lire les fichiers txt dans le dossier de projet Android

/data/user/0/com.example.asojac.probandobuffer/files/hola.txt: open failed: ENOENT (No such file or directory)

Le fichier est dans le dossier « actifs »

Ma méthode est la suivante:

public String getTexto() { 
     try { 
      File fileDir = new File(getFilesDir().getPath() +"/hola.txt"); 
      BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileDir), "ISO-8859-1")); 
      String str, str2=""; 

      while ((str = in.readLine()) != null) { 
       str2 += "\n" + str; 
      } 
      in.close(); 
      return str2; 

     } catch (Exception e) { 
      Log.e("TAG Exception" , e.getMessage()); 
     } 
     return ":("; 
    } 

Dans le AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 

J'ai aussi essayé Whit:

File fileDir = new File(getFilesDir() + "/hola.txt"); 
      BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileDir), "ISO-8859-1")); 
+3

Utilisez AssetManager pour accéder au fichier des actifs dossier 'AssetManager am = contexte .getAssets(); InputStream est = am.open ("hola.txt"); ' – Michael

+0

Les assets ne sont pas des fichiers. Ils sont dans votre APK, et vous y accédez via l'API AssetManager –

Répondre

0

Assurez-vous que le répertoire existe:

File fileDir = new File(getFilesDir().getPath()); 
fileDir.mkdirs(); 
File file = new File(dir, "hola.txt"); 
1

Essayez ceci:

InputStream is; 
is = context.getAssets().open("hola.txt"); 
+0

C'est la solution la plus proche, mais cela ne fonctionne pas. –