DataInputStream详解(定义作用及方法使用)

DataInputStream详解(定义作用及方法使用)-mikechen

DataInputStream定义

DataInputStream 是 Java 中的一个类,它是 FilterInputStream 类的子类,用于从输入流中读取原始数据类型的值。

 

DataInputStream作用

DataInputStream 主要用于以下2方面:

1.读取二进制数据

它用于读取通过 DataOutputStream 写入的二进制数据,这对于处理网络通信、文件存储和数据交换等场景非常有用。

2.处理基本数据类型

DataInputStream 提供了一系列 read 方法,用于读取不同的数据类型。

包括:整数、浮点数、字符、布尔值等,这使得它方便地处理各种数据。

 

DataInputStream方法

DataInputStream 提供了多个方法,用于读取不同类型的数据:

  • int readInt():从输入流中读取一个 4 字节的整数值。
  • long readLong():从输入流中读取一个 8 字节的长整数值。
  • float readFloat():从输入流中读取一个 4 字节的浮点数值。
  • double readDouble():从输入流中读取一个 8 字节的双精度浮点数值。
  • char readChar():从输入流中读取一个 2 字节的字符值。
  • boolean readBoolean():从输入流中读取一个布尔值。

DataInputStream使用

DataInputStream使用,主要包含如下3大步骤:

1.创建 DataInputStream 对象

首先,需要创建一个 DataInputStream 对象,并将其包装在另一个输入流,比如: FileInputStream 之上,以便从输入流中读取数据。

如下所示:

try {
    InputStream inputStream = new FileInputStream("data.dat"); // 可以使用任何输入流
    DataInputStream dataInputStream = new DataInputStream(inputStream);
} catch (IOException e) {
    e.printStackTrace();
}

 

2.读取数据

使用 DataInputStream 对象的各种 read 方法,来读取不同类型的数据。

如下所示:

try {
    int intValue = dataInputStream.readInt();
    long longValue = dataInputStream.readLong();
    float floatValue = dataInputStream.readFloat();
    double doubleValue = dataInputStream.readDouble();
    char charValue = dataInputStream.readChar();
    boolean booleanValue = dataInputStream.readBoolean();
} catch (IOException e) {
    e.printStackTrace();
}

 

3.关闭 DataInputStream

使用完,关闭 DataInputStream。

如下所示:

try {
    dataInputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}

 

DataInputStream总结

DataInputStream 是一个用于从输入流中,读取原始数据类型的值的类。

DataInputStream 提供了方便的方法来读取整数、浮点数、字符、布尔值等数据类型,而无需手动解析字节表示。

mikechen

mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复架构即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法