- 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
您可能关注的文档
- 第10章软件本地化测试.ppt
- 第10章综合应用实例二——学生选课系统.ppt
- 第10章网络安全及NAT.ppt
- 第11讲分组密码与DES1.ppt
- 第11章Java异常处理.ppt
- 第11章web服务器.ppt
- 第11章财务报告new.ppt
- 第11章城市工程规划.ppt
- 第11章电子商务项目人力资源管理.ppt
- 第11章蛋白质的降解和氨基酸代谢.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)