首页 > 基础资料 博客日记

Java中DataInputStream类介绍和使用

2023-05-03 12:47:54基础资料围观695


Java中的DataInputStream类实现了数据输入的功能。它是InputStream类的子类,可以从一个输入流中读取基本Java数据类型。


DataInputStream类定义了许多读取基本数据类型的方法,例如readBoolean()readByte()、readChar()、readDouble()、readFloat()、readInt()、readLong()和readShort()等。此外,它还提供了一些其他的读取方法,readFully(byte[] b)用于读取指定长度的字节数组,UTF()用于读取字符串等。


在使用DataInputStream类时,通常需要将其与另一个输入流(如FileInputStream)配合使用。首先创建一个InputStream对象(如FileInputStream然后将其传递给DataInputStream的构造函数中。


使用DataInputStream类需要注意其所读取的数据格式必须与所写入的数据格式相同。因此,在实际使用中需要特别注意数据格式的保持一致性。


下面是一个基本的DataInputStream使用示例,它从一个文件中读取基本数据类型并将其打印到控制台上:


import java.io.*;
public class DataInputStreamDemo {
   public static void main(String args[]) throws IOException {
      FileInputStream fileInputStream = null;
      DataInputStream dataInputStream = null;
      try {
         // 创建文件输入流
         fileInputStream = new FileInputStream("data.txt");
         // 创建数据输入流
         dataInputStream = new DataInputStream(fileInputStream);
         // 读取数据
         int intValue = dataInputStream.readInt();
         float floatValue = dataInputStream.readFloat();
         boolean booleanValue = dataInputStream.readBoolean();
         // 打印数据
         System.out.println("Int value: " + intValue);
         System.out.println("Float Value: " + floatValue);
         System.out.println("Boolean Value: " + booleanValue);
      } catch (IOException e) {
         e.printStackTrace();
      } finally {
         if (fileInputStream != null) {
            fileInputStream.close();
         }
         if (dataInputStream != null) {
            dataInputStream.close();
         }
      }
   }
}

这个示例首先创建了一个文件输入流,然后将其传递给一个DataInputStream对象,接着使用DataInputStream对象的readInt()方法、readFloat()方法和readBoolean()方法从文件中读取数据。最后将读取的数据打印到控制台上。


需要注意的是,在使用DataInputStream读取数据时必须保证读取的数据类型与数据文件中数据类型相同,否则可能会导致读取到错误的数据值或者抛出异常。


标签:

相关文章

本站推荐

标签云