Prüfen ob Datei noch geöffnet ist

Java:
 while ((line = b.readLine()) != null) {
                        if ((!line.startsWith("ENDE    NL")) & (!line.startsWith("FIN NC NL")) & (!line.startsWith("\004\033"))) {
                            br.write(line + "\n");
                            br.flush();
                            br.close();
                        } else {
                            br.write(line + "\n");
                            br.flush();
                            break;
                        }
                    }
                    br.flush();

jetzt aber 🙂
Ne, jetzt passiert Unsinn, der auf den ersten Blick zu ner Exception führen dürfte.

Nimm try-with-resources, an einer sauberen Umsetzung scheiterst du ebenso wie die meisten anderen.
 
Ok verstehe ist das so kompliziert das ohne try-with-resources hinzukommen
Nein, man muss nur verstehen, wie es geht.

Zugriff ohne try-with-resources ist immer nach einem einfachen Pattern:
Java:
SomeCloseableType variable;
try {
    variable = someInitialization();
    // Use variable here
} finally {
    try {
        if (variable != null) variable.close();
    } catch (Exception ex) {}
}

Und das ist dann halt ebenbürtig zu:
Java:
try (SomeCloseableType variable = someInitialization()) {
  // Use variable in here
}

Welche der beiden Varianten Du nutzen willst, ist Dir überlassen. Aber ohne eine entsprechende Lösung ist es in meinen Augen schlicht falsch!
 

Neue Themen


Zurück
Oben