深入解析I/O编程之包装类
转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空)
从上节学到的节点流类我们知道,如Java中提供的FileOutputStream和FileInputStream类实现往文件中写入字节或从文件中读取字节数据。在实际应用中,我们需要往文件中写入或读取各种类型的数据,一般的做法是先将其他类型的数据转换成字节数组后写入文件或是将从文件中读取到的字节数组转换成其他类型。然而,上述方法会给我们的程序增加了代码量和带来一些困难和麻烦。为了解决这个问题,Java提供了一些中间类,这些中间类提供了读写各种类型的数据的各种方法,当我们需要写入其他类型的数据时,可以调用这些中间类(包装类)的对应方法即可实现。
包装类
包装类提供了读写各种类型数据的各种方法,其作用是将其他数据类型转换成字节数组,然后调用底层的节点流类将这个字节数组写入到目标设备。
以下为包装类的调用过程:
一、DataInputStream与DataOutputStream
DataInputStream与DataOutputStream提供了可以读写各种基本数据类型数据的各种方法。
1.DataInputStream类
(1)功能:包装输入流,提供将读取的字节数组数据转换为各种Java基本数据类型数据的方法;
(2)构造方法
>DataInputStream(InputStream in):传递一个指定输入流对象创建一个包装输入流对象;
注意:在创建包装类对象时,需指定它要调用的哪个底层流对象。
(3)常用方法
>int read(byte[] b) :从输入流中读取一些字节数据并存储到字节数组b中,返回值为读到字节的个数
>int read(byte[] b, int off, int len)ÿ