Datei zeilenweise einlesen

N

Nersgatt

Neues Mitglied
0
Hallo,

ich bin neu in der Androidwelt und auch die Javawelt ist für mich neu. Ich arbeite mich gerade ein. Von daher bitte ich um etwas Nachsicht.

Ich möchte einfach eine Datei zeilenweise einlesen. Diese Datei liegt auf der SD-Karte. Ich habe sie mit adb push auf die SD-Karte des Emulators kopiert. Ob sie auch wirlich dort liegt hab ich testet, indem ich sie mir adb pull wieder runterkopiert hab. Die Datei liegt also definitiv im richtigen Pfad.

Mein Code sieht so aus:
Code:
    private String DataDir() 
    {
       File dir = Environment.getExternalStorageDirectory();
       return dir.toString() + getResources().getText(R.string.DataDir);        
    }
    
    private void readTaetigkeiten() {
        
        String FilePath = DataDir() + getResources().getText(R.string.TaetigkeitenFilename);
        
        FileInputStream fis;
        try {
            fis = openFileInput(FilePath);
            String line;
            DataInputStream dis = new DataInputStream(fis);
            while((line = dis.readLine())!=null)
                Toast.makeText(getApplicationContext(), line, Toast.LENGTH_SHORT).show();
            
        } catch (FileNotFoundException e) {
            Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
            e.printStackTrace();
        } catch (IOException e) {
            Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
            e.printStackTrace();
        }
        
    }

Beim Aufruf von "openFileInput" stürzt meine App ab. In Eclipse bin ich auch noch neu und muss noch lernen. Wo sehe ich denn nun den Grund des Absturzes. Irgendwie müsste es doch eine Exception mit entspr. Text geben, oder?

In dem Manifest hab ich auch die Permissions angegeben:
Code:
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Ich denke, das passt so, oder?

Aber wo liegt mein Fehler?

Danke!
Jens
 
Klick mal oben rechts auf den Button "DDMS" (links neben "Java").
Dort siehst du alle Meldungen unter LogCat.
 
Danke, ich bin weiter gekommen. Das Problem war, dass ich bei OpenInputFile keinen kompletten Pfad zu einer Datei angeben kann. Ich habe es über den Weg gemacht File f = new File(....).
Dann klappts auch mit dem Nachbarn. :cool2:
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.927
swa00
swa00
M
  • MikelKatzengreis
Antworten
5
Aufrufe
132
swa00
swa00
S
Antworten
33
Aufrufe
2.674
Sempervivum
S
Zurück
Oben Unten