第七章:输入和输出流第一节:数据流的基本概念1
在java中,把不同类型的输入、输出源抽象为流,其中输入或输出的数据成为数据流,用统一的接口表示
数据流是指一组有顺序的、有起点和终点的字节集合
程序从键盘接收数据或向文件中写数据,都可以使用数据流来完成
流分为输入数据流和输出数据流
输入数据流只能读不能写;而输出数据流只能写不能读
从数据流中读取数据是,必须有一个数据源与该数据流相连(FileInputStreamin=newFileInputStream(“javatest
txt”);)(实例化)4
io包中提供了表示数据流的4个基本抽象类(不可以实例化),分别是InputStream、OutputStream、Reader和Writer
因此涉及数据流操作的程序中,几乎都要使用引入语句:importjava
为了使对象的状态能够方便地永久保存下来,java
io包中又提供了以字节流为基础的用于对象的永久化保存状态的机制,通过实现ObjectInput和ObjectOutput接口来完成
输入数据流提供的主要操作方法有:(得到-1,标志数据流结束)intread():从输入流读取一个字节的二进制数据intread(byte[]b):将多个字节读到数组中,填满整个数组intread(byte[]b,intoff,intlen):从输入流中读取长度为len的数据,从数组b中下标为off的位置开始放置读入的数据,读毕返回读取的字节数
voidclose():关闭数据流intavailable():返回目前可以从数据流中读取的字节数longskip(longl):跳过数据流中指定数量的字节不读取,返回值表示实际跳过的字节数8
如需要反向读取数据流,则使用回推操作(PushBack)BooleanmarkSupported():用于测试数据流