2017-06-09 4 views
-2

Ich versuche Textdatei von Vermögenswerten nach von Listview-Auswahl Ordner zu öffnen, sondern zur Laufzeit zeigt es: W/System.err: java.io.FileNotFoundException: nullDatei kann nicht von Assets Ordner zugreifen

hier ist der Code für die Haupttätigkeit:

public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      Intent in=new Intent(MainActivity.this, lyric.class); 
      in.putExtra("Name", String.valueOf(parent.getSelectedItem())); 
      startActivity(in); 

-Code für die zweite Aktivität:

Intent in = getIntent();  
    String str; 
    str=in.getStringExtra("Name"); 
    try { 
     tv.setText(readTxt(str)); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    private String readTxt(String nm) throws IOException { 


    String line; 
    String entireFile =""; 

    BufferedReader br = new BufferedReader(new InputStreamReader(getAssets().open(nm))); 
    try { 
     while ((line = br.readLine()) != null) { 
      entireFile += (line + "\n"); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return entireFile; 
} 
+0

sicher, dass Sie machen, was Sie in 'nm' –

+0

zeigen Sie Ihre Assets Struktur Screenshot zu erhalten erwarten. –

+0

Ich habe ein Action-Objekt in der Liste und eine Action.txt-Datei in Assets und den übergebenen Objektnamen durch die str-Variable. @VladMatvienko – Rahul

Antwort

0

Sind Sie sicher, dass Ihre nm richtig fil ist e Weg, wenn es richtig versuchen, diesen Code ist

BufferedReader br = new BufferedReader(
    new InputStreamReader(getAssets().open(nm), "UTF-8")); 
try { 
    while ((line = br.readLine()) != null) { 
     entireFile += (line + "\n"); 
    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
return entireFile; 
+0

nm ist ein String-Wert, der den Dateinamen aus der Variablen str ableitet. Ich bin ein Anfänger, wenn Fehler im Code bitte korrekte Methode vorschlagen. – Rahul

Verwandte Themen