Exception beim Versuch eine Datei zu Erstellen

  • Antworten:7
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 7

11.10.2017, 13:46:50 via Website

java.io.IOException: open failed: ENOENT (No such file or directory)

Diese Exception bekomme ich, wenn ich versuche eine Textdatei generieren zu lassen.
Habe mir vorher ein Video angeschauen wo dies anscheinend funktioniert hat. Danke für die Hilfe.
Hier mein Code:

ordner = new File(Environment.getExternalStorageDirectory(), "MyTestOrdner");
if(!ordner.exists()){
ordner.mkdirs();
}

        File mydatei = new File(ordner, "mytest"  +  ".txt");


        try {
            OutputStream outputStream = new FileOutputStream(mydatei);
            outputStream.write("Name: ".getBytes());


            for(int z = 0; z<20; z++) {
                outputStream.write(" fuellwort: ".getBytes());


                outputStream.write("Text".getBytes()); // text wird geschrieben

            }

            outputStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

— geändert am 11.10.2017, 13:51:17

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.165

11.10.2017, 19:41:27 via App

Hallo Markus,
hast du die passenden Read/Write Permission gesetzt?
Und auf welchen Pfad genau willst du die Datei speichern?

— geändert am 11.10.2017, 19:42:09

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 7

11.10.2017, 19:47:08 via Website

(Noch gleicher Fehler)
umbenannt zu diesem pfad:
ordner = new File(Environment.getExternalStorageDirectory() + "/Android/Data", "MyTestOrdner");
if(!ordner.exists()){
ordner.mkdirs();

ich will die Datei im Ordner erzeugen.
Das mit dem Read/Write Permissions im Code, hat das eine Auswirkung auf die Exception:
java.io.IOException: open failed: ENOENT (No such file or directory)?
Ich möchte ja einen Ordner und in diesem eine Datei generieren lassen, warum bekomme ich dann eine Exception beim OutputStream das die vorhin erzeugte Datei im Ordner bzw. der Ordner selber nicht vorhanden ist?

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.165

11.10.2017, 19:49:08 via App

Vielleicht musst du den Ordner erst erstellen. Das kann sein dass Android das nicht von selbst tut.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 7

11.10.2017, 19:51:02 via Website

aber wenn ich das dann z.B. veröffentlichen wollen würde, müsste doch jeder Nutzer sich diesen Ordner von Hand erstellen, das kann ja nicht sein.

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.165

11.10.2017, 19:56:19 via App

Eben. Aber du kannst ja auch einen Ordner per Code erstellen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 7

11.10.2017, 19:58:48 via Website

ordner = new File(Environment.getExternalStorageDirectory() + "/Android/Data", "MyTestOrdner");
if(!ordner.exists()){
ordner.mkdirs();
}

wurde das mit diesem Aufruf nicht erledigt?

Antworten
  • Forum-Beiträge: 2.901

11.10.2017, 20:05:49 via Website

Öhm , hast du auch unter > Marshmellow deine erweiterten Permissions angefordert ??
(nicht die in der Manifest)
https://developer.android.com/training/permissions/requesting.html

Bsp :
https://github.com/Karumi/Dexter

Abgesehen davon : Der Error Log in AS gibt dir genau aus , was schief läuft .
Schau dir den mal an

— geändert am 11.10.2017, 20:19:16

Liebe Grüße - Stefan
[ App - Entwicklung ]

Pascal P.Markus Schmidt

Antworten

Empfohlene Artikel