Heim  >  Artikel  >  Java  >  Eine Datei automatisch schließen

Eine Datei automatisch schließen

Patricia Arquette
Patricia ArquetteOriginal
2024-11-05 20:03:02413Durchsuche
  • Vor JDK 7 wurden Dateien explizit mit der Methode close() geschlossen, eine gängige Praxis im vorhandenen Code.

  • JDK 7 führte Try-with-Resources ein, das das Schließen von Ressourcen wie Dateistreams automatisiert.

  • Der Hauptvorteil von Try-with-Ressourcen besteht darin, Speicherlecks zu verhindern und sicherzustellen, dass Ressourcen freigegeben werden, wenn sie nicht mehr benötigt werden.

  • Die Grundstruktur von Try-with-Ressourcen ist:
    try (feature-spec) {
    // die Ressource verwenden
    }

  • Die Ressourcenspezifikation deklariert und initialisiert eine Ressource, die am Ende des Try-Blocks automatisch geschlossen wird.

  • Es ist nicht notwendig, close() explizit aufzurufen, da die Ressource automatisch verwaltet wird.

  • Die Try-with-Ressourcen können Catch- und Final-Klauseln enthalten.

  • Kann nur mit Ressourcen verwendet werden, die die AutoCloseable-Schnittstelle implementieren, zu der Stream-Klassen wie FileInputStream und FileOutputStream gehören.

  • Ein Beispiel für die Implementierung von Try-with-Resources ist eine modifizierte Version des ShowFile-Programms.

Fechando automaticamente um arquivo

  • Im Programm wird die Datei mit der try-with-resources-Anweisung geöffnet, wobei ein FileInputStream namens fin deklariert wird.

  • Die fin-Variable ist lokal für den Try-Block und wird bei der Eingabe erstellt.

  • Beim Verlassen des try-Blocks wird die mit fin verknüpfte Datei automatisch geschlossen, sodass kein expliziter Aufruf von close() erforderlich ist.

  • Dieser Ansatz bietet den Vorteil einer automatischen Ressourcenverwaltung, sodass das Schließen von Dateien nicht vergessen wird.

  • Die in der try-Anweisung deklarierte Ressource ist implizit endgültig und kann nach der Erstellung nicht neu definiert werden.

  • Der Ressourcenbereich ist auf den Try-with-Resources-Block beschränkt.

  • Es ist möglich, mehrere Ressourcen in einer einzigen try-Anweisung zu verwalten, indem jede Ressourcenspezifikation durch ein Semikolon getrennt wird.

  • Es wird ein Beispiel bereitgestellt, das zeigt, wie das CopyFile-Programm geändert wird, um try-with-resources zum Verwalten von fin und fout zu verwenden.

Fechando automaticamente um arquivo

  • Vorteile von Try-with-Ressourcen:

  • Ressourcen wie Dateien werden am Ende des Try-Blocks automatisch geschlossen.

  • Prägnanterer und optimierter Code im Vergleich zum herkömmlichen Ansatz.

  • Ausnahmebehandlung:

  • Ausnahmen während der Ressourcenschließung werden unterdrückt, gehen aber nicht verloren.

  • Auf beide Ausnahmen (ursprüngliche und schließende) kann über die Liste der unterdrückten Ausnahmen zugegriffen werden.

  • Wichtigkeit des Wissens über den traditionellen Ansatz:

  • Erforderlich für die Pflege von Legacy-Code, der kein Try-with-Resources verwendet.

  • Wichtig für die Arbeit in Umgebungen, die JDK 7 oder spätere Versionen nicht unterstützen.

  • Fazit:

  • Try-with-resources wird für eine optimierte und robuste Ressourcenverwaltung empfohlen.

  • Kenntnisse des traditionellen Ansatzes sind für Programmierer unerlässlich.

Das obige ist der detaillierte Inhalt vonEine Datei automatisch schließen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn