1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Aus dem Asset Ordner eine txt Datei auslesen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von r4in, 17.12.2010.

  1. r4in, 17.12.2010 #1
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Hallo Leute,

    ich bin leicht am verzweifeln. Ich versuche seit ein paar Stunden eine txt Datei aus dem Asset ordner zu lesen. Aber es fliegt immer eine FileNotFoundException.

    Kann mir einer sagen ob der Ordner nun asset oder assets heissen muss?

    //---------------------------------------------------------------

    AssetManager assetManager = getResources().getAssets();

    InputStream inputStream = null;
    try {
    inputStream = assetManager.open("/texte/text.txt");
    } catch (IOException e) {
    Log.e("tag", e.getMessage());
    Toast.makeText(MainActivity.this, e.toString() , Toast.LENGTH_LONG).show();
    }
    //------------------------------------------------------------------

    Die Datei liegt in "assets/texte/text.txt", da ich schon jeglich mögliche Konstellation durchprobiert hab, hoffe ich das mir einer von euch helfen kann.
     
  2. Michael1981, 06.01.2011 #2
    Michael1981

    Michael1981 Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    2
    Registriert seit:
    12.12.2010
    Hi, wie folgt:

    getAssets().open() is defined as this
    Open an asset using an explicit access mode, returning an InputStream to read its contents. This provides access to files that have been bundled with an application as assets -- that is, files placed in to the "assets" directory.

    Versuche mal:
    Environment.getExternalStorageDirectory().getAbsolutePath()+/texte/text.txt

    Denk bitte an die Permissions (write external storage)

    AssetManager mgr = getContext().getAssets();
    z. B.
    InputStream in = mgr.open("META-INF/container.xml");
    InputStreamReader isr = new InputStreamReader(in);

    Bei Dir hast Du immer "/texte" geschrieben...Du befindest Dich vermutlich bereits im korrekten Verzeichnis und musst nur in den "Unterordner" gehen.

    Lass uns wissen wie die Lösung ausschaut.

    Gruß

    Michael
     
  3. r4in, 07.01.2011 #3
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Hi Michael,

    vielen dank für den Tipp mit

    "Environment.getExternalStorageDirectory().getAbsolutePath();"

    so habe ich meinen Fehler gefunden bzw denke ich das, da ich mit dem Emulator arbeiten muss im Moment, habe ich eh ein Problem mit dem Zugriff auf die virtuelle SDCard (werde da aus den Tutorials nicht schlau wie drauf zugreifen kann). Nächste Woche wird das neue Handy da sein und ich werde dann das Ergebnis posten ;-)

    Vielen Danke nochmal für deine Hilfe.

    Gruß Sebastian
     
  4. Michael1981, 17.01.2011 #4
    Michael1981

    Michael1981 Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    2
    Registriert seit:
    12.12.2010
    Hallo Sebastian,

    wie lautet die Lösung für den Zugriff?

    Auf die SD Karte kann man nach erfolgreicher Emulatorkonfiguration relativ leicht zugreifen..."/sdcard" ... .

    Gruß

    Michael
     
  5. r4in, 17.01.2011 #5
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Hi,

    ich bin da noch dran, aber es klappt immernoch nicht. Da ich aber noch ein Projekt ein C# vor die Füsse geworfen bekommen hatte was höher Priorität hatte konnte ich mich nicht weiter damit befassen. Sobald ich es hinbekommen hab werde ich posten wo das Problem liegt versprochen :winki:
     
  6. r4in, 17.01.2011 #6
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Hi nochmal,

    ich bekomme es einfach nicht hin, ich verstehe nicht warum der die txt nicht findet.

    Ich hab in meinem Projek einen assets Ordner angelegt, da drin liegt meine txt Datei, laut ein paar Beispieleprogrammen kann man mit dem AssetManager darauf zu greifen.

    Ich bekomme aber immernoch eine FileNotFound Exception.
     
  7. r4in, 21.01.2011 #7
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Also, da ich mit dem Assetordner einfach nicht klar komme. Habe ich einen Umweg gemacht ich

    Code:
     
    //---------------------------------------------------------------
    //Textdatei schreiben
    //---------------------------------------------------------------
            
            File pubVerz = getDir("test",
                                  MODE_WORLD_READABLE | MODE_WORLD_WRITEABLE  );
            
            File akte = new File(pubVerz, "akte.txt");
            try {
                FileOutputStream out = new FileOutputStream(akte);
                schreibeDatei(out);
            } catch (FileNotFoundException ex) {
                Logger.getLogger(MainActivity.class.getName()).log(Level.SEVERE, null, ex);
            }
           //------------------------------------------------------------------
    //Textdatei lesen
    //------------------------------------------------------------------
            
            File pubVer = getDir("test",
                                MODE_WORLD_READABLE | MODE_WORLD_WRITEABLE );
            File akte2 = new File(pubVer, "akte.txt");
           
           FileInputStream inSt = null;
            try {
                inSt = new FileInputStream(akte);
            } catch (FileNotFoundException ex) {
                Logger.getLogger(MainActivity.class.getName()).log(Level.SEVERE, null, ex);
            }
            String test = leseDatei(inSt);
    und lese sie danach einfach aus im Moment zwar noch im internen Speicher des Geräts bastel aber gerade an ner SDCARD Lösung :) Danke trotzdem für deine Hilfe!
     

Diese Seite empfehlen