Java StreamCorruptedException介绍

Java StreamCorruptedException介绍

在Java中,当在读取或写入流时发现问题时,会发生StreamCorruptedException。问题可能是我们正在读取或写入的数据格式错误或包含错误。如果给定文件的格式不正确。当流意外关闭或数据部分被覆盖时。

在本文中,我们将介绍有关StreamCorruptedException的示例。但在继续之前,重要的是要了解流及其在示例中使用的一些方法。

处理StreamCorruptedException的程序

流是在Java中执行输入和输出操作时使用的抽象。基本上,输入流用于从来源(如键盘、磁盘文件等)获取输入。输出流则指向数据显示或写入的目标。

FileReader - 用于读取字符。

FileWriter - 用于写入字符。

要使用这些类,我们需要定义它们的对象 –

语法

FileReader nameOfobject = new FileReader(“nameOfFile”); 
FileWriter nameOfobject = new FileWriter(“nameOfFile”);

StreamCorruptedException − 它是ObjectStreamException的一个子类。它可以以两种方式使用,一种是不提供异常的原因,另一种是提供一个包含在双引号中的字符串类型的原因。

语法

StreamCorruptedException();
Or,
StreamCorruptedException(“value”);

方法

read() − 用于从给定的源中读取一个字节。

要使用I/O流,我们需要在我们的java程序中导入以下包

import java.io.*;

* 表示我们将导入此包中的所有类。StreamCorruptedException 是 java.io 包中的一个类。

示例1

在此示例中,我们将使用 StreamCorruptedException 类,而不提供异常的原因。

import java.io.*;
public class Streams {
   public static void main(String args[]) throws IOException {
      FileReader reading = null;
      FileWriter writing = null;
      try {
         reading = new FileReader("Stream.java");
         writing = new FileWriter("stream");
         int copy;
         while ((copy = reading.read()) != -1) {
            throw new StreamCorruptedException();
         }
      }   
      catch (StreamCorruptedException exp) {
         // To handle StreamCorruptedException 
         System.out.println(exp);
      }
      catch (Exception exp) {
         // To handle other exception
         System.out.println("Other exception found");
      }
   }
}

编译以上Java文件: ‘javac Streams.java’

编译完成后,通过以下命令运行Java文件: ‘java Streams’

输出

Other exception found

在以上代码中,我们分别创建了FileReader和FileWriter类的两个实例’reading’和’writing’,用于执行对给定文件的读取和写入操作。在try块的while循环中,我们尝试读取文件’Stream.java’的内容。虽然我们创建了一个类型为整数的变量’copy’来存储该文件的内容,但我们没有给出将其复制到何处的指令,所以导致了StreamCorruptedException的抛出。

示例2

在这个示例中,我们将使用StreamCorruptedException类来说明异常的原因。

import java.io.*;
public class Streams {
   public static void main(String args[]) throws IOException {
      FileReader reading = null;
      FileWriter writing = null;
      try {
         reading = new FileReader("Stream.java");
         writing = new FileWriter("stream");
         int copy;
         while ((copy = reading.read()) != -1) {
            throw new StreamCorruptedException("Please!! Provide a valid file type!");
         }
      }   
      catch (StreamCorruptedException exp) {
         // To handle StreamCorruptedException 
         System.out.println(exp);
      }
      catch (Exception exp) {
         // To handle other exception
         System.out.println("Other exception found");
      }
   }
}

输出

java.io.StreamCorruptedException: Please!! Provide a valid file type!

在上面的代码中,我们使用了示例1的程序,但这次我们使用了一个带有抛出异常的消息,显示了发生异常的原因。

结论

在Java中,我们使用try和catch块来处理异常。异常在运行时发生,而不是在编译时发生,这就是为什么正确处理异常很重要,否则可能会给我们带来麻烦。在本文中,我们了解了如何处理Java中的一个异常,即StreamCorruptedException。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程