第12章 文件和流

第12章 文件和流

ID:20449233

大小:334.00 KB

页数:21页

时间:2018-10-12

第12章 文件和流_第1页
第12章 文件和流_第2页
第12章 文件和流_第3页
第12章 文件和流_第4页
第12章 文件和流_第5页
资源描述:

《第12章 文件和流》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第第第12章文件和流第12章文件和流输入和输出是一个程序必备的功能,Java的应用程序和JavaApplet往往经常要通过输入和输出来读写数据。本章将介绍如何从一个能发送字节或字符序列的“数据源”获得输入,以及如何将输出发送给能够接收字节序列的一个“目标”。字节序列的数据源及目标可以是文件,也可以是一个网络连接,甚至是一个内存块。在本章中,将重点讨论用来操控文件的方法,以及用来将数据(可以是对象)实际写入文件、将信息从文件中读回的方法,或者是更新文件的方法。12.1Java流类库简介Java语言的输入输出功能是十分强大而灵活的,它往往需

2、要包装许多不同的对象。在Java类库中,I/O部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流……本章的目的是做一个简要的介绍。12.1.1流的概念Java所有的I/O机制都是基于数据流的,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。流是一个很形象的概念,当程序需要读取数据时,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接,则这就是

3、“输入流”,如图12-1所示。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流,这就是“输出流”,这时你就可以想像数据好像在这其中“流”动一样,如图12-2所示。图12-1输入流示意图图12-2输出流示意图第第第12章文件和流Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示:InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的,下面介绍Java的I/O库。12.1.2Java的I/O库Java中的字节流是用于处理字节的输入

4、和输出的,包括读写二进制数据等方面的内容。而Java中的字符流则用于处理字符的输入和输出,采用的是Unicode编码,可以实现国际化。使用字符流的另外一个好处就是:字符流比字节流更有效率。1.字节流在Java中,字节流分为“输入流”和“输出流”。可以从中读出一系列字节的对象称为“输入流”(InputStream);而能向其中写入一系列字节的对象则称为“输出流”(OutputStream)。这两种对象分别是由java.io包中的抽象类InputStream和OutputStream来实现的。具体的字节流结构如图12-3和图12-4所示。从

5、图中可以看出:1)字节流的两个顶层类是抽象类,分别是InputStream和OutputStream。2)每个抽象类都有子类来实现具体的功能,处理不同的输入和输出。InputStream和OutputStream类是不能实例化的,实际上在程序中使用就是它们的子类,如文件输入输出流FileInputStream和FileOutputStream。图12-3InputStream类结构图图12-4OnputStream类结构图表12-1是字节流的几个常用子类及功能。第第第12章文件和流表12-1字节流常用子类及功能字节流类功能简单介绍Dat

6、aInputStream包含了读取Java标准数据类型的输入流DataOutputStream包含了写Java标准数据类型的输出流ByteArrayInputStream从字节数组读取的输入流ByteArrayOutputStream写入字节数组的输出流FileInputStream从文件读入的输入流FileOutputStream写入文件的输出流PrintStream包含最常见的Print()和Println()的输出流PushbackInputStream返回一个字节到输入流,主要用于编译器的实现PipedInputStream输入

7、管道PipedOutputStream输出管道SequenceInputStream将n个输入流联合起来,一个接一个按一定顺序读取BufferInputStream缓冲输入流BufferOutputStream缓冲输出流FilterInputStream实现了InputStream接口的过滤器输入流FilterOutputStream实现了OutputStream接口的过滤器输出流字节流抽象类InputStream和OutputStream的常用方法如下。(1)InputStream1)abstractintread():读取一个字节的

8、数据,并返回读到的字节。read方法若遇到数据流的末尾,便会返回一个–1值。2)intread(byte[]b):将数据读入一个字节数组,同时返回读回的字节数。和前面一样,如果遇到数据流的末尾,read方法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。