StreamCorruptedException en Java

La clase StreamCorruptedException de ObjectStreamException es una excepción que se produce cuando la información de control que se leyó de un flujo de objetos infringe las comprobaciones de coherencia interna. Creará una StreamCorruptedException y enumerará una razón por la que se lanzó la excepción. Si no se pasan parámetros en el constructor, se creará una excepción StreamCorruptedException y no se indicará el motivo por el que se lanzó la excepción.

Sintaxis:

public StreamCorruptedException(String reason)

Parámetros: motivo – “String” que describe el motivo de la excepción

Ejemplo 1:

Java

// Java program to Illustrate StreamCorruptedException
 
// Importing required classes
import java.io.*;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StreamCorruptedException;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
 
        // Creating an object of InputStream class
        InputStream in = new FileInputStream("testout.txt");
 
        // Representing input object in form of string
        DataInputStream dis = new DataInputStream(in);
 
        // Writing the data
 
        // Try block to check if exception occurs
        try {
 
            // readByte will read single byte from the file
            if (dis.readByte() != 1) {
                throw new StreamCorruptedException(
                    "File format not recognised");
 
                // If file contains NULL in first byte
                // then exception will be thrown
            }
        }
 
        // Catch block 1
        // Handling stream corrupted exception
        catch (StreamCorruptedException e) {
 
            // Display message on console if
            // StreamCorruptException occurs
            System.out.println(e);
        }
 
        // Catch block 2
        // Handling basic I/O exception
        catch (Exception e) {
 
            // If EOF exception or any other exception
            // occurs
            System.out.println(e);
        }
    }
}

Producción:

java.io.StreamCorruptedException: File format not recognised

Ahora deteniéndonos en el segundo ejemplo donde se reconoce el formato de archivo. Es como sigue, para lo cual lea la nota de muestra a continuación antes de la implementación.

Nota: Cree el archivo C098.txt en la misma carpeta del programa y copie el siguiente fragmento tal cual. Es un ejemplo de archivo corrupto.

C098.txt

’ sr Product        L desct Ljava / lang / String;

L priceq ~ L

       productIdq ~ xpt Bookt Rs .200t P001’ sr

Product        L desct Ljava / lang / String; L

priceq ~ L productIdq ~ xpt Laptopt Rs .45, 500t P087

Ejemplo 2:

Java

// Java program to Illustrate StreamCorruptedException
 
// Importing required classes
import java.io.*;
import java.util.*;
 
// Main class
// To illustrate object stream exception
class GFG {
 
    // Main driver method
    public static void main(String args[]) throws Exception
    {
 
        // Text in file is stored as a string
        String CId = "C098.txt";
        File objFile1 = new File(CId);
 
        // Try block to check fo exception
        try {
 
            // Creating an object of FileInputStream class
            FileInputStream objFIS
                = new FileInputStream(objFile1);
 
            // Creating an object of ObjectInputStream class
            ObjectInputStream objI
                = new ObjectInputStream(objFIS);
 
            Object obj = null;
        }
 
        // Catch block 1
        // Handling stream corrupted exception
        catch (StreamCorruptedException ex) {
 
            // Display this message as exception is caught
            System.out.println(
                "Stream Corrupted Exception Occurred");
        }
        // Catch block 2
        // Handling basic I/O exceptions
        catch (Exception e) {
 
            // Print statement
            System.out.println("Hello");
        }
    }
}

Producción:

Stream Corrupted Exception Occurred

Publicación traducida automáticamente

Artículo escrito por shantanujain18 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *