编程红宝书(珍藏版) ava 完金自学手册 第12章JaaI/0处理 对于任何程序设计语言而言,输入输出(I/O)系 统是最复杂的一部分,因为通信的双方不仅仅是 Ⅰ/0源端和接收端,还可能是文件、网络链接或内 存磁盘等,而且这些数据的数据格式多样,如字 符、二进制、字节。Java通过创建大量的类库解 决这个问题 Q想桃工业出隙社
第12章 Java I/O处理 • 对于任何程序设计语言而言,输入输出(I/O)系 统是最复杂的一部分,因为通信的双方不仅仅是 I/O源端和接收端,还可能是文件、网络链接或内 存磁盘等,而且这些数据的数据格式多样,如字 符、二进制、字节。Java通过创建大量的类库解 决这个问题
编程红宝书(珍藏版) ava 完金自学手 12.1流( stream)的概念 Java的I/0系统涉及流的概念。一个读取字节序列 的对象被称为输入流,一个可以写入字节序列的 对象称为输出流。输出流和输入流是相对于程序 本身而言的。程序读取数据称为打开输入流,程 序向其他源写入数据称为打开输出流,该过程如 图所示 nput Stream OutPut Stream 程序 流示意图 Q 机械工业出版社 China Machine Press
12.1 流(stream)的概念 • Java的I/O系统涉及流的概念。一个读取字节序列 的对象被称为输入流,一个可以写入字节序列的 对象称为输出流。输出流和输入流是相对于程序 本身而言的。程序读取数据称为打开输入流,程 序向其他源写入数据称为打开输出流,该过程如 图所示
编程红宝书(珍藏版) ava 完金自学手 12.2字符流 在Java的I/O系统提供了 Inputstream和 Outputstream两个抽象类实现字节(8位)数据的 输入输出,其中 Inputstream是输入流的抽象类, 提供了read方法,各个实现了该类的子类都要实 现该方法,如 ObjectInputstream类继承 Inputstream抽象类,重新定义了方法 read o来读 取字节数据。本节介绍抽象类 Inputstream和 Outputstream及其相对应的子类 Q想桃工业出隙社
12.2 字符流 • 在Java的I/O系统提供了InputStream和 OutputStream两个抽象类实现字节(8位)数据的 输入输出,其中InputStream是输入流的抽象类, 提供了read方法,各个实现了该类的子类都要实 现该方法,如ObjectInputStream类继承 InputStream抽象类,重新定义了方法read()来读 取字节数据。本节介绍抽象类InputStream和 OutputStream及其相对应的子类
编程红宝书(珍藏版) ava 完金自学手 2.2.1输入流类 Inputstream 抽象类 Inputstream表示从不同的输入源输入数据的类,这些数据源的数据类型 多样,可以是字节数组、 String对象、类的序列化对象,文件、管道或网络链 接。对于多样的数据类型有相应的输入流类与其对应。下面介绍这些流类,使 读者对这些类的功能和使用方式有基本的了解 Inputstream是个抽象类,提供了抽象read方法,下面几个类是继承自 Inputstream的子类: ByteArray Inputstream(字节数组输入流) Filelnputstream(文件输入流) PipedInputstream(管道输入流) SequenceInputstream(序列化输入流) StringBufferInputstream(字符串缓冲输入流) ObjectInputstream(对象输入流) FilterInputstream(过滤器输入流) 以下的类继承自 Filter Inputstream(过滤器输入流),同时实现了 Datainput 接 LineNumberInputstream(行号输入流) DataInputstream(数据输入输入流) BufferedInputstream(缓冲输入流) PushbackInputStream(推回输入流) Q想桃工业出隙社
12.2.1 输入流类InputStream • 抽象类InputStream表示从不同的输入源输入数据的类,这些数据源的数据类型 多样,可以是字节数组、String对象、类的序列化对象,文件、管道或网络链 接。对于多样的数据类型有相应的输入流类与其对应。下面介绍这些流类,使 读者对这些类的功能和使用方式有基本的了解。 • InputStream是个 抽象类 ,提供 了抽 象read方 法,下 面几 个类是 继承自 InputStream的子类: • ByteArrayInputStream(字节数组输入流) • FileInputStream(文件输入流) • PipedInputStream(管道输入流) • SequenceInputStream(序列化输入流) • StringBufferInputStream(字符串缓冲输入流) • ObjectInputStream(对象输入流) • FilterInputStream(过滤器输入流) • 以下的类继承自FilterInputStream(过滤器输入流),同时实现了DataInput 接口。 • LineNumberInputStream(行号输入流) • DataInputStream(数据输入输入流) • BufferedInputStream(缓冲输入流) • PushbackInputStream(推回输入流)
编程红宝书(珍藏版) ava 完金自学手 12.2.2输出流类 utputstream 抽象类 Outputstream是表示输出数据流的抽象类,与抽象 输入流对应,提供各种流对象的数据输出。下面介绍的输 出流类,可以使读者了解输出流类的功能和使用方式。 Outputstream是个抽象类,提供了抽象 write方法,下面几 个类是继承自 Inputstream的子类,这些类都实现了 write( 方法: ByteArrayOutputstream(字节数组输出流类) Fileoutputstream(文件输出流类) 0 bjectoutputsteam(对象输出流类) Pipedoutputstream(管道输出流类) · FilterOutputStream(过滤器输出流类) 下面三个类继承自 FilterOutputstream类并实现了 Dataout 接口。 DataOutputstream(数据输出流类) BufferedOutputStream(缓冲输出流类) Q想桃工业出隙社 Printstream(打印输出流类
12.2.2输出流类OutputStream • 抽象类OutputStream是表示输出数据流的抽象类,与抽象 输入流对应,提供各种流对象的数据输出。下面介绍的输 出流类,可以使读者了解输出流类的功能和使用方式。 • OutputStream是个抽象类,提供了抽象write方法,下面几 个类是继承自InputStream的子类,这些类都实现了write() 方法: • ByteArrayOutputStream(字节数组输出流类) • FileOutputStream(文件输出流类) • ObjectOutputSteam(对象输出流类) • PipedOutputStream(管道输出流类) • FilterOutputStream(过滤器输出流类) • 下面三个类继承自FilterOutputStream类并实现了DataOut 接口。 • DataOutputStream(数据输出流类) • BufferedOutputStream(缓冲输出流类) • PrintStream(打印输出流类)