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面试题总结》