Beispiel 1
Der Versuch mit einem einzigen Ressourcenszenario wird im Folgenden demonstriert. Der folgende Versuch mit der einzelnen Ressourcenanweisung wird verwendet, um die Datei zu lesen:
Während wir die Datei mit der Anweisung mit Try-with-ressource lesen, wird die Importanweisung des DateiInputStream-Modul. Dann erstellen wir die Java-Klasse „Demo1“, in der die main () -Methode implementiert wird, um die Anweisung der Try-with-Ressource zu erstellen. Erstens haben wir einen Versuchsblock, in dem wir die Ressource des Dateistroms deklarieren. Wir nennen das DateiInputStream -Objekt "fs", das die Eingabedatei "MyFile" enthält.txt". Danach verwenden wir die Ressource "Eingabedatei. Wir deklarieren das "mydata" -Objekt, bei dem die Read () -Methode verwendet wird, um die Eingabedatei zu lesen.
Als nächst. Sobald die Daten gelesen werden, wird sie von der Print () -Methode gedruckt, die das "mydata" -Objekt in char wirft. Jeglicher Fehler, der mit der Datei -Lesenressource in der Versuch -Anweisung aufgetreten ist.
Die Eingabedatei „MyFile.TXT “im vorherigen Programm enthält die folgenden Daten:
Der Try-Statement-Block ohne Fehler liest die Daten aus der „MyFile.txt “, das am folgenden Terminal kopiert wird:
Beispiel 2
Die einfache Demonstration mit der Ressourcen-Ressourcen wird im vorherigen Beispiel implementiert. Jetzt soll das Objekt in der Anweisung der Try-with-Ressource der benutzerdefinierten Klasse erstellt werden, die die autokosenbare Schnittstelle implementiert. Schließen Sie dann das Programm innerhalb der benutzerdefinierten Klasse.
Wir erstellen eine „Demo3“ -Schamklasse, in der die main () -Methode deklariert wird, bei der wir eine andere Klasse definieren, die "CustomRead". Dies ist unsere benutzerdefinierte Klasse, die die Schnittstelle von autococosenbar implementiert, um die Ressourcen des Try -Blocks automatisch zu verwalten. In der benutzerdefinierten Klasse „CustomRead“ verwenden wir dann die Operation Operation und rufen die Methode close () auf, um alle Ressourcen des Try -Blocks zu schließen, auf die aus den autoclosenbaren Ressourcen zugegriffen wird.
Danach setzen wir den Try -Block bereit, in dem das "I" -Objekt deklariert ist, um die CustomRead () -Klasse aufzurufen. Wir fügen die Ressource der Druckanweisung in den Try -Block hinzu. Zuletzt setzen wir den Fangblock ein, der die Ausnahmeklasse verwendet, um jede Ausnahme des Try -Blocks zu behandeln.
Die Anweisung für die Versuche wird in der Ausführungszeit angezeigt. Nach der Ausführung der Try -Block -Ausführung ruft das JVM die Methode close () auf, die die Ressourcen im Inneren des Try -Blocks schließt.
Beispiel 3
Das Try-Mit-Mit-Mit mehreren Ressourcen kann auch verwendet werden. In diesem Versuch mit mehreren Ressourcen werden die Ressourcen in umgekehrter Reihenfolge in den Klammern geschlossen, wenn sie deklariert werden. Lassen Sie uns das Beispiel des Versuchs mit mehreren Ressourcen in der folgenden Abbildung haben:
Wir haben zuerst den Abschnitt "Versuch -Anweisungen) in der Main () -Methode dieser Programmklasse" Demo3 "festgelegt," Demo3 ". Die Anweisung für die Versuche wird mit mehreren Ressourcen zugewiesen. Zunächst erstellen wir das Objekt "FOS" der FileOutputStream -Klasse, um die Daten in der angegebenen Datei „MyFile“ zu schreiben.txt". Anschließend deklarieren wir das "FIS" -Objekt für den FileInputStream und geben dort den Dateinamen ein.
Als Nächst. Danach rufen wir die Write () -Methode auf, um die Bytearray -Zeichenfolge in die Datei einzufügen. Wir können den Inhalt einer Datei lesen, da die Zeichenfolge dort geschrieben wurde. Zu diesem Zweck erstellen wir das Objekt „Inst“ der Eingabedatei, in der die DATAINPUTSTREAM () -Klasse das Dateieingabestream -Objekt oder "FIS" nimmt. Um die Daten der Eingabestreamdatei zu lesen, verwenden wir die Methode der verfügbaren () des DateiIntputStream, mit dem die verbleibende Anzahl von Bytes aus der Datei abgerufen wird.
Als nächst. Das Bytearray wird dann in den String -Konstruktor übergeben, der im Objekt „STR2“ definiert ist. Die Daten der Eingabedatei werden dann in der Ausführung des Programms gedruckt, wenn der Catch -Block keine Ausnahme von der Versuch -Anweisung erfasst.
Die Ausgabe von mehreren Ressourcen wird hier angezeigt. Es zeigt die in der Eingabedatei geschriebenen Daten an und liest diese Daten dann aus der Datei.
Beispiel 4
Die Try-with-Resources kann auch mit dem endgültigen Block geschlossen werden. Der schließlich prüft der Block überprüft, ob die Ressourcen, die in der Versuchserklärung deklariert sind, geschlossen sind.
Wir deklarieren das BufferedReader -Objekt „BuffRead“, das außerhalb der Versuchserklärung deklariert wird. Zusammen mit diesem haben wir ein anderes Objekt, die „Strline“. Danach verwenden wir den Try -Block, in dem das "BuffRead" -Objekt die BuffErader -Klasse aufruft, die den FileReader so festlegt. Die while -Schleife wird bereitgestellt, um die Daten mithilfe der Readline () -Methode aus dem BuffRead -Objekt zu entfernen. Die IOException beim Lesen der Datei wird vom Fangblock des Try -Blocks mit den Ressourcen gefangen und behandelt.
Als nächstes haben wir eine Implementierung eines endgültigen Blocks. Der schließlich wird mit dem Try-Catch-Block weiter bereitgestellt, um die Ressourcen für den Versuch zu reinigen, wodurch das Programm komplexer wird. Der Versuchszug des endgültigen Blocks wird verwendet, da das Risiko einer IOException besteht.
Die Ausgabe wird für die Anweisung mit dem Try-with-Ressource zusammen mit dem endgültigen Block angezeigt. Die Ressourcen müssen nicht explizit geschlossen werden, da die JVM sie für uns schließt. Wie wir wissen, verwaltet die Anweisung von Try-with-Resources die Ressourcen automatisch, was den Code einfacher und einfach zu lesen macht.
Abschluss
Das Grundprinzip der Java-Try-with-Ressource ist das Auto-Ressourcenmanagement. Die Try-with-Ressource hilft uns, die Ressourcen zu verwalten, während wir die Ausnahmen abwickeln. Der Try-with-Ressources-Block erhöht unterdrückte Ausnahmen. Darüber hinaus wird der Fangblock oder der endgültige Block immer ausgeführt, nachdem die Ressource der Versuchsanweisung geschlossen ist. Wir haben die Aussage mit Ressourcen mit verschiedenen Fallszenarien implementiert.