14-2-输入输出.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Java程序设计》 14.2 输入/输出流 14.2.1 流简介 14.2.2 字节流 14.2.3 过滤流 14.2.4 字符流 14.2.5 文件和路径 14.2 输入/输出流 本节将介绍如何创建输入流和输出流以读取和存储信息。 字节流:用于处理字节、整数和其他简单数据类型。 字符流:用于处理文本文件和其他文本源。 知道如何处理输入流后,便可以以同样的方式处理所有的数据,不管是它来自磁盘、lnternet还是另一个程序。使用输出流来传输数据时,情况也是如此。 14.2 输入/输出流 14.2.1 流简介 在Java中,所有数据都是使用流读写的。流就像水流一样,将数据从一个地方带到另一个地方。 流是程序中的数据所经历的路径。输入流将数据从数据源传递给程序,而输出流将数据从程序发送到某个目的地。 本节介绍两种流:字节流和字符流。字节流传送0-255的整数。很多类型的数据都可以表示为字节格式,包括数值数据、可执行程序、Internet通信和字节码(Java虚拟机运行的类文件)。实际上,每种数据都可以表示为单个字节或一系列字节。 字符流是一种特殊的字节流,只能处理文本数据。它不同于字节流,因为Java字符集支持Unicode——该标准包含很多无法使用字节来表示的字符。对于任何涉及文本的数据,都应使用字符流,这包括文本文件、网页以及其他常见的文本类型。 14.2 输入/输出流 14.2.1 流简介 (1) 使用流 在Java中,使用字节流和字符流的步骤基本相同。使用特定的java.io和java.nio.file类之前,有必要介绍一下创建和使用流的步骤。 对于输入流,第一步是创建一个与数据源相关联的对象。例如,如果数据源是硬盘上的文件,可以将一个FilelnputStream对象与之关联起来。 有了流对象后,可以使用该对象的方法来从流中读取信息。FilelnputStream有一个read( )方法,它从文件中读取字节。 从流中读取完信息后,调用方法close()来指出已完成对流的使用。 14.2 输入/输出流 14.2.1 流简介 对于输出流,首先要创建一个与数据目的地相关联的对象。这样的对象是从类BufferedWriter派生而来的,后者是一种创建文本文件的有效方式。 要将信息发送给输出流的目的地,最简单的方式是使用方法write( )。例如,BufferWriter的write( )方法将单个字符发送给输出流。 和输入流一样,没有其他信息需要发送时,应调用输出流的close( )方法。 14.2 输入/输出流 14.2.1 流简介 (2) 过滤流 要使用流,最简单的方式是,创建它,然后调用其方法来发送或接收数据——这取决于它是输出流还是输入流。 对于本节将介绍的很多类,如果在读写数据之前将过滤器与流关联起来,都将获得更精致的结果。 过滤器是一种流,它修改了现有流的处理方式。来看拦河水坝,它控制从上游到下游的流量。水坝就是一种过滤器,如果没有它,将无法控制流量。 14.2 输入/输出流 14.2.1 流简介 对流使用过滤器的步骤如下所述。 1) 创建一个与数据源或数据目的地相关联的流; 2) 将一个过滤器与流关联起来; 3) 通过过滤器(而不是流)来读写数据。 对于过滤器,可调用的方法与流相同:有read( )和write( )方法,就像没有被过滤的流一样。 甚至可以将过滤器与另一个过滤器关联起来,从而实现这样的信息路径:输入流与文本文件相关联,它被一个西班牙语到英语的翻译过滤器过滤,而后者被一个脏字过滤器过滤,信息最后被发送到目的地——要阅读它的人。 14.2 输入/输出流 14.2.1 流简介 (3) 处理异常 java.io包中有一些异常,这些异常在使用文件和流时可能发生。 当您试图使用一个不存在的文件来创建流或文件对象时,将发生FileNotFoundException异常。 通过输入流来读取文件时,如果过早地到达文件尾,将发生EOFException异常。 这些异常都是IOException的子类,为处理所有这些异常,一种方式是将所有的输入和输出流放在一个捕获IOException异常的try~catch块中。然后,在catch块中调用异常的toString( )或getMessage( )方法,以了解有关异常的更详细的信息。 14.2 输入/输出流 14.2.2 字节流 字节流要么是InputStream的子类,要么是OutputStream的子类。这些类都是抽象类,因此不能通过直接创建这些类的对象来创建字节流,而必须通过它们的子类来创建流,如下所示。 FileInputStream和FileOutputStream:用于磁盘、光盘或其他存储设备中文件的字节流。 DataInputStream和DataOutpu

文档评论(0)

33894522 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档