Java.IO.Io-Ausnahme
Dieses Tutorial demonstriert die java.io.ioexception
in Java.
die java.io.IOException
in Java
Die IOexception
ist die häufigste Ausnahme in Java. Die häufigsten Gründe für diese Ausnahme sind:
- Lesen einer Datei, aber diese Datei existiert nicht.
- Eine Datei lesen, aber keine Berechtigung haben.
- Schreiben einer Datei, aber der Speicherplatz ist nicht verfügbar.
- Beim Lesen eines Streams, aber dieser Stream wird von einem anderen Prozess geschlossen.
- Beim Lesen einer Netzwerkdatei, aber das Netzwerk ist getrennt.
Die Java.IO.IOexception
stellt Ausnahmen für Systemeingabe- und -ausgabedatenströme und Serialisierung bereit.
Es gibt auch viele andere Gründe für die IO-Ausnahmen in Java. Die folgende Tabelle zeigt die Typen oder Unterklassen von Ausnahmen in Java:
Schnittstelle | Beschreibung |
---|---|
InvalidClassException |
Dies tritt auf, wenn die Serialisierungslaufzeit eine ungültige Klasse erkennt. |
InvalidObjectException |
Dies weist darauf hin, dass die Überprüfung der Serialisierungsobjekte fehlgeschlagen ist. |
NotActiveException |
Dies zeigt an, dass die Serialisierung oder Deserialisierung nicht aktiv ist. |
NotSerializableException |
Dies zeigt an, dass eine Instanz eine serialisierbare Schnittstelle haben muss. |
ObjectStreamException |
Dies zeigt allen Objektstromklassen eine Oberklasse an. |
CharConversionException |
Wird für Ausnahmen bei der Zeichenkonvertierung verwendet. |
EOFException |
Dies zeigt an, dass während der Eingabe das Ende der Datei des Streams erreicht wurde. |
FileNotFoundException |
Dies zeigt an, dass die Datei, auf die Sie zugreifen möchten, nicht existiert. |
InterruptedIOException |
Dies zeigt an, dass die Eingabe-Ausgabe-Operation unterbrochen wurde. |
OptionalDataException |
Dies zeigt den Fehler beim Lesen eines Objekts aufgrund ungelesener primitiver Daten oder das Ende der Daten an, die zum serialisierbaren Objekt des Streams gehören. |
StreamCorruptedException |
Dies zeigt an, dass die aus dem Objektstrom gelesenen Steuerinformationen gegen die interne Konsistenzprüfung verstoßen. |
SyncFailedException |
Dies weist darauf hin, dass ein Synchronisierungsvorgang fehlgeschlagen ist. |
UnsupportedEncodingException |
Dies zeigt an, dass die angegebene Zeichencodierung nicht unterstützt wird. |
UTFDataFormatException |
Dies weist darauf hin, dass fehlerhafte UTF-8-Daten im Eingabestrom gelesen wurden oder dass diese Daten von einer beliebigen Klasse gelesen werden, die die Dateneingabeschnittstelle implementiert. |
WriteAbortedException |
Dies weist darauf hin, dass während des Schreibvorgangs eine ObjectStreamException ausgelöst wurde. |
Die obigen Ausnahmen sind die Arten von Unterklassen der Haupt-IO-Ausnahme. Versuchen wir ein Beispiel, das die IOException
in Java auslöst:
package delftstack;
import java.io.FileInputStream;
import java.io.IOException;
public class Example {
public static void main(String[] args) throws Exception {
FileInputStream File_Input_Stream = new FileInputStream("Demofile.txt");
System.out.println("Check if the file is there. ");
}
}
Der obige Code löst die IO FileNotFoundException aus, da die Datei, auf die wir zugreifen, nicht existiert. Siehe Ausgabe:
Exception in thread "main" java.io.FileNotFoundException: Demofile.txt (The system cannot find the file specified)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:111)
at delftstack.Example.main(Example.java:8)
Um diese Ausnahmen zu behandeln, verwenden wir try-catch
-Blöcke, um zu verhindern, dass JVM den Code zum Absturz bringt. Siehe die Lösung:
package delftstack;
import java.io.FileInputStream;
import java.io.IOException;
public class Example {
public static void main(String[] args) throws Exception {
try {
FileInputStream File_Input_Stream = new FileInputStream("Demofile.txt");
System.out.println("Check if the file is there. ");
} catch (IOException e) {
// e.printStackTrace(); or
System.out.println(e.getMessage());
}
}
}
Jetzt druckt der obige Code die gleichen Fehlerinformationen, aber ohne den Code zum Absturz zu bringen. Siehe Ausgabe:
Demofile.txt (The system cannot find the file specified)
Versuchen wir ein weiteres Beispiel, das die End of File-Ausnahme (EOFException
) in Java auslöst:
package delftstack;
import java.io.DataInputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class Example {
public void DemoCheck() {
File file = new File("delftstack.txt");
DataInputStream Data_Input_Stream = null;
try {
Data_Input_Stream = new DataInputStream(new FileInputStream(file));
while (true) {
Data_Input_Stream.readInt();
}
} catch (EOFException E_O_F_Exception) {
E_O_F_Exception.printStackTrace();
} catch (IOException I_O_Exception) {
I_O_Exception.printStackTrace();
} finally {
try {
if (Data_Input_Stream != null) {
Data_Input_Stream.close();
}
} catch (IOException I_O_Exception) {
I_O_Exception.printStackTrace();
}
}
}
public static void main(String[] args) {
Example DemoExample = new Example();
DemoExample.DemoCheck();
}
}
Der Code wirft EOFException
, weil er versucht, eine Datei zu lesen, und das Ende der Datei erreicht ist. Siehe Ausgabe:
java.io.EOFException
at java.base/java.io.DataInputStream.readInt(DataInputStream.java:398)
at delftstack.Example.DemoCheck(Example.java:16)
at delftstack.Example.main(Example.java:39)
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn FacebookVerwandter Artikel - Java Error
- Adresse wird bereits verwendet JVM_Bind-Fehler in Java
- Android Java.Lang.IllegalStateException behoben: Methode der Aktivität konnte nicht ausgeführt werden
- Ausnahme im Hauptthread Java.Lang.ClassNotFoundException in IntelliJ IDEA
- Ausnahme im Hauptthread Java.Lang.NoClassDefFoundError
- Beheben Sie das Problem, dass Java nicht installiert werden kann. Es gibt Fehler in den folgenden Schaltern
- Beheben Sie den Fehler `Es wurde keine Java Virtual Machine gefunden` in Eclipse