Android Speichern einer .txt Datei im InternalStorage

mlkike

Mitglied
Hey,

bin leider wieder auf ein Problem gestoßen und zwar versuche ich eine .txt Datei auf mein Gerät zu speichern.

Das ist erstmal der Code, mit dem ich das versuche:

Java:
public class Buchung extends Activity {

    String intstr = Environment.getDataDirectory().toString();
    String b = "savedReason.txt";
    String filename = "savedBuchung.txt";

    File folder = new File(intstr + "/com.mike.guthabencheck/");
    File buchung = new File(folder.getAbsolutePath(), b);

    String grund;

    Float wert;

    public Buchung(String reason, float value) {

        grund = reason;
        wert = value;

    }

    public void saveBuchungToTxt() {
        //TODO Save Buchung with parameters

        //TODO For Debug only______________________________________________________
        System.out.println(intstr);
        System.out.println(folder);
        //_________________________________________________________________________

        if (!folder.exists()) try {
            boolean dircreated = folder.mkdir();
            System.out.println(dircreated);
        } catch (NullPointerException | SecurityException e) {
            System.out.println(e);
        }

        try {
            FileOutputStream f1 = new FileOutputStream(buchung, true);
            PrintStream p = new PrintStream(f1);
            p.print("Grund: " + grund + " | " + "Betrag: " + wert + "\n");
            p.close();

            //DEBUG
            System.out.println("File created: " + buchung);
            //

            try {
                f1.close();
            } catch (IOException e) {
                e.printStackTrace();
                System.out.println(e);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            System.out.println(e);
        }
    }

extends Activity habe ich, da ich sonst openFileOutput nicht aufrufen kann(oder doch?).
Im oben gezeigten Fall gibt mir LogCat folgendes aus:

Java:
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ java.io.FileNotFoundException: /data/com.mike.guthabencheck/savedReason.txt: open failed: ENOENT (No such file or directory)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:456)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at com.mike.guthabencheck.Buchung.saveBuchungToTxt(Buchung.java:50)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at com.mike.guthabencheck.MainActivity.onActivityResult(MainActivity.java:173)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at android.app.Activity.dispatchActivityResult(Activity.java:6549)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at android.app.ActivityThread.deliverResults(ActivityThread.java:4056)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at android.app.ActivityThread.handleSendResult(ActivityThread.java:4103)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at android.app.ActivityThread.access$1400(ActivityThread.java:178)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1498)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at android.os.Looper.loop(Looper.java:145)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5944)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at libcore.io.Posix.open(Native Method)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:442)
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck W/System.err﹕ ... 15 more
07-21 11:49:54.485    5107-5107/com.mike.guthabencheck I/System.out﹕ java.io.FileNotFoundException: /data/com.mike.guthabencheck/savedReason.txt: open failed: ENOENT (No such file or directory)

Dann habe ich gelesen, dass man das aufgrund der Rechte von Android (Root etc.) über openFileOutput() machen muss, das funktioniert allerdings auch nicht, denn dann wirft er eine NullPointerException:

Java:
07-21 12:04:40.435  12243-12243/com.mike.guthabencheck E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.mike.guthabencheck, PID: 12243
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=2, data=Intent { (has extras) }} to activity {com.mike.guthabencheck/com.mike.guthabencheck.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileOutputStream android.content.Context.openFileOutput(java.lang.String, int)' on a null object reference
            at android.app.ActivityThread.deliverResults(ActivityThread.java:4060)
            at android.app.ActivityThread.handleSendResult(ActivityThread.java:4103)
            at android.app.ActivityThread.access$1400(ActivityThread.java:178)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1498)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:145)
            at android.app.ActivityThread.main(ActivityThread.java:5944)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileOutputStream android.content.Context.openFileOutput(java.lang.String, int)' on a null object reference
            at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:196)
            at com.mike.guthabencheck.Buchung.saveBuchungToTxt(Buchung.java:54)
            at com.mike.guthabencheck.MainActivity.onActivityResult(MainActivity.java:173)
            at android.app.Activity.dispatchActivityResult(Activity.java:6549)
            at android.app.ActivityThread.deliverResults(ActivityThread.java:4056)
            at android.app.ActivityThread.handleSendResult(ActivityThread.java:4103)
            at android.app.ActivityThread.access$1400(ActivityThread.java:178)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1498)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:145)
            at android.app.ActivityThread.main(ActivityThread.java:5944)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

Jetzt ist meine Frage, ob es eine Directory gibt, auf die man über einen FileOutputStream zugreifen kann oder ist openFileOutput() die einzige Möglichkeit?
Auf die SDCard habe ich erstmal nicht vor zu speichern.

MFG
 
Zuletzt bearbeitet:

Ch4t4r

Aktives Mitglied
Bitte benutze getFilesDir(), das gibt dir direkt /data/data/packagename, dein Fehler ist nämlich, dass du nur auf /data/packagename verweißt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaWolf165 Android Fehler beim Speichern/Downloaden einer Datei Android & Cross-Platform Mobile Apps 2
B Fragen zum Speichern einer Datei auf dem Gerät? Android & Cross-Platform Mobile Apps 7
G Android Daten in einer Datenbank speichern Android & Cross-Platform Mobile Apps 1
W Foto machen und es direkt per URI speichern und auswählen Android & Cross-Platform Mobile Apps 4
M Firebase RealtimeDatabase - Daten aus Queries in CSV File speichern Android & Cross-Platform Mobile Apps 1
I Android CameraApp, eingebaute App nutzen und Ergebniss als Datei speichern Android & Cross-Platform Mobile Apps 0
R Android Daten speichern und anzeigen Android & Cross-Platform Mobile Apps 7
T Screenshot speichern ohne alte Datei überschreiben Android & Cross-Platform Mobile Apps 3
P Daten bzw Objekte auf das Handy lokal speichern Android & Cross-Platform Mobile Apps 29
P Objekt mit Shared preferences speichern Android & Cross-Platform Mobile Apps 0
J Download und speichern mit jsch klappt nicht Android & Cross-Platform Mobile Apps 5
L Android SQLite Datenbank auf SDCard speichern Android & Cross-Platform Mobile Apps 5
M Android App → Problem mit dem Speichern von einem Bitmap–Objekt. Android & Cross-Platform Mobile Apps 1
V Kennt jemand ein Programm , um .DEX Dateien zu öffnen, bearbeiten und wieder speichern? Android & Cross-Platform Mobile Apps 2
B Dateien Speichern Android & Cross-Platform Mobile Apps 6
V Bytes (Wertebereich 0-255) über BLE empfangen,lesen und speichern Android & Cross-Platform Mobile Apps 1
Anfänger2011 Speichern von bereits gefüllten Dateien Android & Cross-Platform Mobile Apps 8
G Speichern jede zehnte sekunde Android & Cross-Platform Mobile Apps 1
G Sensordaten speichern Android & Cross-Platform Mobile Apps 3
S Dynamische EditText View eingaben in Datenbank speichern Android & Cross-Platform Mobile Apps 0
L Android Apache POI: Datei speichern geht nicht Android & Cross-Platform Mobile Apps 1
A Android Daten in der Cloud speichern (Google) Android & Cross-Platform Mobile Apps 1
Streeber Android ExpandableListView Child-Auswahl speichern Android & Cross-Platform Mobile Apps 3
S Android Geschossenes Foto in anderem Ordner speichern Android & Cross-Platform Mobile Apps 11
G Wissen frage - wo am besten Speichern. Android & Cross-Platform Mobile Apps 1
S Android Speichern von Informationen in Code oder extern Android & Cross-Platform Mobile Apps 0
E Android Zeichnen auf Canvas - Teilbereich als Bild speichern Android & Cross-Platform Mobile Apps 3
L Android Text aus Textfeld speichern Android & Cross-Platform Mobile Apps 5
R Android Objekt in bestimmten Pfad auf Android-gerät speichern Android & Cross-Platform Mobile Apps 8
G Datei im Ordner speichern Android & Cross-Platform Mobile Apps 2
P Android Fragen reihenfolge speichern / laden Android & Cross-Platform Mobile Apps 2
T Bild speichern Servlet Android & Cross-Platform Mobile Apps 2
B Inhalt von StringBuffer in Textdatei speichern? Android & Cross-Platform Mobile Apps 6
U Android Daten dauerhaft speichern? Android & Cross-Platform Mobile Apps 2
P Java ME benutzer daten speichern Android & Cross-Platform Mobile Apps 5
O eingehende Daten speichern Android & Cross-Platform Mobile Apps 2
T Lesen / Schreiben einer Textdatei - SD-Karte Android & Cross-Platform Mobile Apps 42
OnDemand Allgemeine Fragen zu einer App Android & Cross-Platform Mobile Apps 4
I Foto mit einer bestimmten Auflösung aufnehmen und als Datei ablegen. Android & Cross-Platform Mobile Apps 5
Jose05 Wie kann man mit einer App Geld verdienen? Android & Cross-Platform Mobile Apps 6
T Android Studio: Einen Button in einer For Schleife verwenden Android & Cross-Platform Mobile Apps 2
M Activity einer anderen App mit result Android & Cross-Platform Mobile Apps 2
J Android Zugriff auf eine Datei, diese von einer anderen App erstellt wurde? Android & Cross-Platform Mobile Apps 11
Mo1234 Plattform in einer App. Bitte um Hilfe! Android & Cross-Platform Mobile Apps 8
A Mit Java neues item in ein string-array einer Strings.xml schreiben Android & Cross-Platform Mobile Apps 4
P Android Wie bestimme ich den Dateinamen einer Bilddatei? Android & Cross-Platform Mobile Apps 11
B Falsche ausgabe einer Rechnung! Android & Cross-Platform Mobile Apps 8
M Android Dynamische SchriftGröße einer TextView Android & Cross-Platform Mobile Apps 3
J Android Suche in einer ListView Android & Cross-Platform Mobile Apps 3
J Android button mithilfe einer Methode automatisch erstellen Android & Cross-Platform Mobile Apps 6
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android wie kann ich in einer xml nach bestimme item suchen (DOM) Android & Cross-Platform Mobile Apps 7
C Android Diese Art von Werbung in einer App? Android & Cross-Platform Mobile Apps 1
? ständig ändernden Inhalten in einer App Android & Cross-Platform Mobile Apps 2
R Android Eine Website-frame in einer App Android & Cross-Platform Mobile Apps 4
H Android Aufrufen von "setContentView" in einer anderen Klasse Android & Cross-Platform Mobile Apps 3
S Die Erstellung einer eigenen App,Kosten? Android & Cross-Platform Mobile Apps 1
C Auf Play Store verlinken - Code in einer Extraklasse Android & Cross-Platform Mobile Apps 1
G Thread in einer Service erstellen Android & Cross-Platform Mobile Apps 0
B Android Spieler Steuerung auf einer Map mit Berge? Android & Cross-Platform Mobile Apps 7
M Android Quellcode einer Website Android & Cross-Platform Mobile Apps 7
K Löschen einer Tabelle bei PlayStore update Android & Cross-Platform Mobile Apps 2
H Veröffentlichung einer Bezahl-App Android & Cross-Platform Mobile Apps 5
Robat Android ConcurrentModificationException während einer for Schleife Android & Cross-Platform Mobile Apps 15
D Android EditText und TextView haben unterschiedliche größen innerhalb einer TableRow Android & Cross-Platform Mobile Apps 18
M Umlaute im Quellcode einer Website richtig darstellen Android & Cross-Platform Mobile Apps 4
M Quellcode einer Website auslesen Android & Cross-Platform Mobile Apps 5
T Android platzsparende Codierung verschlüsselter Texte in einer URI Android & Cross-Platform Mobile Apps 8
S Android "Weiches wechseln" zwischen Views in einer Activity Android & Cross-Platform Mobile Apps 3
F Bei einer Android Java App, Objekte erstellen Android & Cross-Platform Mobile Apps 2
G eine Methode einer anderen Activity aufrufen Android & Cross-Platform Mobile Apps 9
G Einbinden einer Bibliothek's App Android & Cross-Platform Mobile Apps 2
G Daten von einer Activity zur nächsten übergeben Android & Cross-Platform Mobile Apps 6
A Fehler beim Starten eines Intents - alles in einer Klasse funktioniert... Android & Cross-Platform Mobile Apps 4
A Kann nicht in TextView einer anderen Klasse schreiben - wieso? Android & Cross-Platform Mobile Apps 9
A Beenden einer 2ten Activity Android & Cross-Platform Mobile Apps 3
T Android Multiple SDK-Support in einer Apk Android & Cross-Platform Mobile Apps 5
R Android Unterschiedliche Versionen von Android in einer App Android & Cross-Platform Mobile Apps 7
D Mehrere Kopien von einer Form Android & Cross-Platform Mobile Apps 7
M Wie in einer anderen "nicht canvas" klasse zeichne Android & Cross-Platform Mobile Apps 5
S Problem mit Einbindung einer externer Bibliothek Android & Cross-Platform Mobile Apps 2
S Variable Anzahl von Bytes aus einer Datei lesen Android & Cross-Platform Mobile Apps 2
P Erstellen einer Jar-File Android & Cross-Platform Mobile Apps 2
R Android Audio-Datei fliessend vorspulen Android & Cross-Platform Mobile Apps 9
R Audio-Datei abspielen Android & Cross-Platform Mobile Apps 3
L Android content URI Datei einlesen Android & Cross-Platform Mobile Apps 9
S Android Datei aus dem Netz einlesen Android & Cross-Platform Mobile Apps 6
V Android Wird mein Vorhaben funktionieren? (Apk Datei decompilieren, bearbeiten, compilieren) Android & Cross-Platform Mobile Apps 2
L Android Datei Übertragung im Netzwerk Android & Cross-Platform Mobile Apps 8
S Termin aus *.txt Datei in Google Kalender eintragen? Android & Cross-Platform Mobile Apps 1
S *.APK Datei automatisch installieren? Android & Cross-Platform Mobile Apps 4
B Android XML Datei editieren --> Permission denied Android & Cross-Platform Mobile Apps 2
B Android Absolute kml-Datei erzeugen Android & Cross-Platform Mobile Apps 2
S Listview Einträge aus "xml" Datei Android & Cross-Platform Mobile Apps 1
G Datei erstellen Android & Cross-Platform Mobile Apps 10
A Android Datei erstellen/schreiben/auslesen Android & Cross-Platform Mobile Apps 1
K Android Erstellt Ordner statt Datei. Android & Cross-Platform Mobile Apps 3
M Datei verschicken per byteArray? Android & Cross-Platform Mobile Apps 1
L Android Datei erstellen, Daten einspeichern und auslesen Android & Cross-Platform Mobile Apps 2
B Datei downloaden über DialogBox? Android & Cross-Platform Mobile Apps 4

Ähnliche Java Themen

Neue Themen


Oben