首页 > 基础资料 博客日记
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读取数据时必须保证读取的数据类型与数据文件中数据类型相同,否则可能会导致读取到错误的数据值或者抛出异常。
标签: