- Forum-Beiträge: 38
31.05.2017, 14:40:57 via Website
31.05.2017 14:40:57 via Website
Guten Tag
Folgende Schleife soll beim starten "onCreate" ausgeführt werden:
for (read = 1; read <= 10; read++) {
FILENAME = "datei_" + String.valueOf(read) + ".txt";
try {
File file = new File(FILENAME);
if (!file.exists()) {
file.createNewFile();
}
} catch (IOException e) {
Log.d(LOG_TAG, "createNewFile", e);
}
Nach meiner Meinung sollte, wenn (!file.exists()) zutrifft, eine neue Datei mit entsprechendem Dateinamen angelegt werden. Nach Start der App stehen mir die 10 Dateien auch tatsächlich zur Verfügung.
Wenn ich die App schliesse und neu starte, wird die Ausführung mit einer IOExcepiton abgebrochen, weil die Dateien bereits vorhanden sind. Ändere ich die Abfrage von (!file...) zu (file...) startet die App normal, solange ich keine der Dateien lösche. Brauche ich zB. das File datei_5.txt nicht mehr und lösche es innerhalb der App, startet die App nicht mehr, weil eine Datei fehlt. Egal welche der beiden Abfragen ich verwende, erfolgt ein Abbruch, weil bei der einen bereits Dateien vorhanden sind, bei der andern aber eine oder mehrere Dateien fehlen. Wenn ich die App deinstalliere, muss ich mit (!file...) starten, um die Dateien zu erstellen und dann auf (file...) ändern, dass die App auch beim nächsten Start nicht abbricht. Nur eine einzelne Datei löschen, um beim nächsten Start eine neue leere Datei zu erhalten, geht nicht. Warum?
Ich blick da nicht durch.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.