in txt datei schreiben

Vielleicht hast du dich bei der Permission verschrieben?
 
DieGoldeneMitte schrieb:
Vielleicht hast du dich bei der Permission verschrieben?

Ja, bei der Permisssion hatte ich mich verschrieben... Ich dachte eigentlich, dass mir Eclipse hier eine Fehlermeldung ausgiebt.
Vielen Dank für deine Anregung! :)
 
Die Permissions kann das SDK nicht prüfen, weil Apps eigene Permissions definieren können.

PS: Fürs Danke gibt es 'nen Knopf :D
 
  • Danke
Reaktionen: qwert_zuiopue
Ich weiß, es ist älter aber immer noch aktuell, für mich.

Ich habe jetzt das hier:
Code:
BufferedWriter out = null;
try {
	out = new BufferedWriter(new FileWriter("/sdcard/meinFile.txt"));
        out.write(meinInhalt);
        out.close();
      } catch (Exception e) { //fehlende Permission oder sd an pc gemountet}

Problem: Es wird keine Datei erstellt.

In der Manifest steht:
Code:
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />


Weiter:
Wie würde ich den Wert wieder auslesen können?
 
Dürfen Apps bei dir überhaupt auf /sdcard schreiben?
Und wie überprüfst du ob die Datei da ist?

Und feste Pfade sind im Code eh tabu.

cu
 
Ich habe das jetzt mal so versucht:
Code:
@Override
    protected void onStop() {
        super.onStop();

        // keine schreibrechte
        try { // catches IOException below
            final String TESTSTRING = new String("Hello Android");

            FileOutputStream fOut = null;
            try {
                fOut = openFileOutput("samplefile.txt", MODE_WORLD_READABLE);
                Log.d("Rechte", "Schreibrechte vorhanden!");
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            OutputStreamWriter osw = new OutputStreamWriter(fOut);

            // Write the string to the file
            osw.write(TESTSTRING);
                        /* ensure that everything is
                         * really written out and close */
            osw.flush();
            osw.close();

        } catch (IOException e) {
            e.printStackTrace();
        }


    }

So bekomme ich als Log Cat die Ausgabe:
Log.d("Rechte", "Schreibrechte vorhanden!");

Allerdings keine Datei zu finden....
 
Dann muss du noch überprüfen, ob das File existiert.

Code:
if (!file.exists()){
    try{
         file.createNewFile();
    }catch (IOException e){
                       
    }
}
 
Naja, ich habe das eingebaut, aber die Datei exestiert ja trotzdem nicht, das ist ja das Problem.

LG
 
openFileOutput schreibt ins interne App Verzeichnis, nicht auf die SD Karte. Der mode betrifft nur die Zugriffsrechte.

Das Verzeichnis der "SD-Karte" bekommt man mit getExternalFilesDir() oder Environment.getExternalStorageDirectory
 
Zuletzt bearbeitet:
Das mit dem MODE ist mir ja bekannt, nur eben wundert mich, das diese Datei nirgends auffindbar ist.

Ich habe jetzt mal folgendes versucht:
Code:
// ---------------------
    private final static String FILE_NAME = "logger_file2.txt";
    private static File log_file;
    private static File log_folder;
    private final static String FOLDER_NAME = "myfolder";
    private static String extDirectory;


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


extDirectory = Environment.getExternalStorageDirectory().toString();

        System.out.println("extDirectory " + extDirectory);

        try{
            log_folder = new File (extDirectory, FOLDER_NAME);
            log_folder.mkdir();
            System.out.println("Ordner wurde erstellt");
        }
        catch (Exception e){
            System.out.println("Fehler beim erstellen des Ordners");
            e.printStackTrace();
        }

Die Logausgabe bestätigt:
extDirectory /storage/emulated/0
Ordner wurde erstellt

Weder der Ordner noch die Datei sind auffindbar. Ist ja auch glaube ich nicht verwunderlich, wenn es den Pfad nicht gibt. Oder?

LG
 
Wieso, das ist doch deine interne "SD Karte".

Boote danach mal neu und schließe das Handy an den PC an.

cu
 

Ähnliche Themen

S
Antworten
33
Aufrufe
2.516
Sempervivum
S
G
Antworten
8
Aufrufe
1.156
gnome2012
G
B
Antworten
4
Aufrufe
406
bb321
B
Zurück
Oben Unten