Wie lässt sich mit Java die Existenz einer Datei überprüfen und ggf. neu anlegen?

Mit der Methode createNewFile() der Klasse File können Dateien auf ihre Existenz und Zugriffsrechte hin überprüft und bei Bedarf neu angelegt werden.

In der main() -Methode des Beispiels wird ein Objekt der Klasse gebildet und auf diesem dann die Methode checkFile() aufgerufen, die die eigentliche Funktionalität enthält. Der Methode wird als Parameter ein File-Objekt übergeben, dessen Existenz nachgeprüft werden soll. Dies geschieht innerhalb eines try-catch-Blockes durch die Methode createNewFile() . Der Block fängt hierbei Ausnahmen ab, die dann geworfen werden, wenn beim Erzeugen der Datei irgend ein Fehler auftritt. Die Methode selbst erzeugt eine neue Datei, aber wirklich nur dann, wenn diese noch nicht existiert. Wird sie neu erzeugt, so gibt createNewFile() true zurück, existiert sie bereits, wird false zurückgegeben.
Im gezeigten Beispiel wird von der Rückgabe jedoch kein Gebrauch gemacht. Statt dessen wird generell geprüft, ob vor Beendigung der Methode die Datei existiert sowie beschrieben und gelesen werden kann.

import java.io.File;
import java.io.IOException;

public class DateiErzeugen {

    private boolean checkFile(File file) {
        if (file != null) {
            try {
                file.createNewFile();
            } catch (IOException e) {
                System.err.println("Error creating " + file.toString());
            }
            if (file.isFile() && file.canWrite() && file.canRead())
                return true;
        }
        return false;
    }
    public static void main(String[] args) {
        DateiErzeugen da = new DateiErzeugen();
        String dat = "test.txt";
        if(da.checkFile(new File(dat)))
            System.out.println(dat + " erzeugt");
    }
}