3 Stimmen

Wie liest man unter Android eine Datei aus dem internen Speicher des Telefons?

Ich habe eine Datei heruntergeladen von HttpConnection unter Verwendung der FileOutputStream in Android und jetzt wird es in den internen Speicher des Telefons auf dem Pfad geschrieben, wie ich es in File Explorer

/data/data/com.example.packagename/files/123.ics

Nun möchte ich den Inhalt der Datei aus dem internen Speicher des Telefons in der Benutzeroberfläche öffnen und lesen. Ich habe versucht, dies mit Hilfe der FileInputStream Ich habe nur den Dateinamen mit der Erweiterung angegeben, um sie zu öffnen, aber ich bin mir nicht sicher, wie ich den Dateipfad für die Datei im internen Speicher angeben soll, da er die Anwendung zum Schließen zwingt.

Irgendwelche Vorschläge?


Das ist es, was ich tue:

try
{               
  FileInputStream fileIn;       
  fileIn = openFileInput("123.ics");
  InputStream in = null;
  EditText Userid = (EditText) findViewById(R.id.user_id);
  byte[] buffer = new byte[1024];
  int len = 0;
  while ( (len = in.read(buffer)) > 0 )         
  {     
     Userid.setText(fileIn.read(buffer, 0, len));
  }                    
  fileIn.close();                       
} catch (FileNotFoundException e)
{
   e.printStackTrace();
}
catch (IOException e)
{   
    e.printStackTrace();
}

6voto

user606669 Punkte 1644
String filePath = context.getFilesDir().getAbsolutePath();//returns current directory.
File file = new File(filePath, fileName);

Similar post here 

Datei aus dem Telefonspeicher lesen

4voto

CommonsWare Punkte 950864

Wenn die Datei dort ist, wo Sie sagen, dass sie ist, und Ihre Anwendung ist com.example.packagename und ruft dann openFileInput("123.ics"); wird Ihnen eine FileInputStream auf die betreffende Datei.

Oder, rufen Sie an getFilesDir() um eine File Objekt, das auf /data/data/com.example.packagename/files und arbeiten Sie von dort aus.

-2voto

dax Punkte 1

Ich verwende diesen Code, um eine Datei im internen Speicher zu öffnen. Ich denke, ich kann helfen.

File str = new File("/data/data/com.xlabz.FlagTest/files/","hello_file.xml");

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X