第12章JavaIO处理.pptVIP

  • 4
  • 0
  • 约6.9千字
  • 约 26页
  • 2018-05-04 发布于四川
  • 举报
第12章 Java I/O处理 对于任何程序设计语言而言,输入输出(I/O)系统是最复杂的一部分,因为通信的双方不仅仅是I/O源端和接收端,还可能是文件、网络链接或内存磁盘等,而且这些数据的数据格式多样,如字符、二进制、字节。Java通过创建大量的类库解决这个问题。 12.1 流(stream)的概念 Java的I/O系统涉及流的概念。一个读取字节序列的对象被称为输入流,一个可以写入字节序列的对象称为输出流。输出流和输入流是相对于程序本身而言的。程序读取数据称为打开输入流,程序向其他源写入数据称为打开输出流,该过程如图所示。 12.2 字符流 在Java的I/O系统提供了InputStream和OutputStream两个抽象类实现字节(8位)数据的输入输出,其中InputStream是输入流的抽象类,提供了read方法,各个实现了该类的子类都要实现该方法,如ObjectInputStream类继承InputStream抽象类,重新定义了方法read()来读取字节数据。本节介绍抽象类InputStream和OutputStream及其相对应的子类。 12.2.1 输入流类InputStream 抽象类InputStream表示从不同的输入源输入数据的类,这些数据源的数据类型多样,可以是字节数组、String对象、类的序列化对象,文件、管道或网络链接。对于多样的数据类型有相应的输入流类与其对应。下面介绍这些流类,使读者对这些类的功能和使用方式有基本的了解。 InputStream是个抽象类,提供了抽象read方法,下面几个类是继承自InputStream的子类: ByteArrayInputStream(字节数组输入流) FileInputStream(文件输入流) PipedInputStream(管道输入流) SequenceInputStream(序列化输入流) StringBufferInputStream(字符串缓冲输入流) ObjectInputStream(对象输入流) FilterInputStream(过滤器输入流) 以下的类继承自FilterInputStream(过滤器输入流),同时实现了DataInput接口。 LineNumberInputStream(行号输入流) DataInputStream(数据输入输入流) BufferedInputStream(缓冲输入流) PushbackInputStream(推回输入流) 12.2.2输出流类OutputStream 抽象类OutputStream是表示输出数据流的抽象类,与抽象输入流对应,提供各种流对象的数据输出。下面介绍的输出流类,可以使读者了解输出流类的功能和使用方式。 OutputStream是个抽象类,提供了抽象write方法,下面几个类是继承自InputStream的子类,这些类都实现了write()方法: ByteArrayOutputStream(字节数组输出流类) FileOutputStream(文件输出流类) ObjectOutputSteam(对象输出流类) PipedOutputStream(管道输出流类) FilterOutputStream(过滤器输出流类) 下面三个类继承自FilterOutputStream类并实现了DataOut接口。 DataOutputStream(数据输出流类) BufferedOutputStream(缓冲输出流类) PrintStream(打印输出流类) 12.3 字节流 Java在设计其I/O系统时,把输入输出的数据类型分为两类,一类是字符流,如上节介绍的InputStream和OutputStream类及其子类都是处理字符(16bit)流。本节介绍字节(8bit)流,字节流也分为读流数据类和写流数据类,即Reader类和Writer类及其子类。 12.3.1 Writer类 Writer类是字符(Character)流输出类的父类,它是抽象类,所有继承自该类的子类都必须实现抽象方法write,具体的实现类中write方法的使用可以参考相应的JavaDoc文档。这里为了区别InputStream和OutputStream使用了Reader和Writer,为了使读者习惯于使用Reader和Writer,同时中文中没有合适的词汇表达相应的流的概念,所以不在具体翻译为中文,读者使用时只要知道Reader类负责读流数据,而Writer类负责向流中写数据。下面列出继承自Writer类的子类。 BufferedWriter(带缓冲Writer) CharArrayWriter(字符数组Writer) FilterWriter(带过滤器 Writer) PrintWriter(打印Writer

文档评论(0)

1亿VIP精品文档

相关文档