第五章 输入输出及异常处理.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 输入输出及异常处理 一、流和文件 二、常用流类 三、文件处理 四、文件处理实例 五、Java异常处理 一、流和文件 流 流是指按照顺序组织的、从起点到终点的数据的集合,是存在于信息源和目的地之间的一条通讯路径,面向对象程序设计语言中对数据输入/输出的处理技术均采用流输入/输出技术。在Java语言中输入/输出程序的设计是通过输入/输出流的方式实现的,Java基于数据流的输入/输出机制提供了一套简单、标准化的API,以便从不同的数据源读取和写入字符和字节数据,这些数据流表示字符或字节数据的流动序列。 一、流和文件 流序列中的数据可以是未经加工的原始二进制数据,也可以是经过编码处理后符合某种格式规定的特定数据。根据操作对象的数据特征即输入/输出的数据类型,Java 中的输入/输出流可细分为字节流和字符流。 字节流(byte stream)以字节为单位操作数据,为处理字节的输入和输出提供了方便的方法,例如对于二进制数据的读取或书写使用字节流。字符流(character stream)则以字符为单位操作数据,为字符的输入和输出处理提供了方便的方法。这两种流采用了统一的编码标准,因而可以国际化。需要说明的是,在最底层所有的输入/输出都是字节形式的,基于字符的流只是为处理字符提供方便有效的方法。 一、流和文件 文件 Java语言简单地把每个文件都视为一个顺序字节流,每个文件或者结束于一个文件结束标志,或者根据系统维护管理数据中所记录的具体字节数来终止。当一个文件打开时,一个对象就被创建,同时一个流和该对象关联。 二、常用流类 Java语言中InputStream和OutputStream类设计成字节流类,而Reader和Writer类为字符流设计。字节流类和字符流类形成分离的层次结构。一般说来,处理字符或字符串时应使用字符流类,处理字节或二进制对象时应使用字节流类。 二、常用流类 字节流 字节流类为处理字节式输入/输出提供了丰富的环境,一个字节流可以和其他任何类型的对象并用,包括二进制数据。这样的多功能性使得字节流对很多类型的程序都很重要。由于字节流类以InputStream和OutputStream为顶层,每个抽象类都有多个具体的子类,这些子类对不同的外设进行处理,例如磁盘文件、网络连接、甚至是内存缓冲区。 二、常用流类 1. InputStream(输入流) InputStream是一个定义了Java流式字节输入模式的抽象类,该类的所有方法在出错条件下引发一个IOException异常。 int available():返回当前可读的输入字节数。 void close():关闭输入源。关闭之后的读取会产生IOException异常。 void mark(int numBytes):在输入流的当前点放置一个标记。该流在读取numBytes个字节前都保持有效。 boolean markSupported():如果调用的流支持mark()/reset()就返回true。 int read():如果下一个字节可读则返回一个整型,遇到文件尾时返回-1。 int read(byte buffer[]):试图读取buffer.length个字节到buffer中,并返回实际成功读取的字节数,遇到文件尾时返回-1。 int read(byte buffer[],int offset,int numBytes):试图读取buffer中从buffer[offset]开始的numBytes个字节,返回实际读取的字节数,遇到文件尾时返回-1。 void reset():重新设置输入指针到先前设置的标志处。 long skip(long numBytes):忽略numBytes个输入字节,返回实际忽略的字节数。 二、常用流类 2. OutputStream(输出流) OutputStream是定义了流式字节输出模式的抽象类,该类的所有方法返回一个void值并且在出错情况下引发一个IOException异常。 void close():关闭输出流,关闭后的写操作会产生IOException异常。 void flush():定制输出状态以使每个缓冲器都被清除,也就是刷新输出缓冲区。 void write(int b):向输出流写入单个字节,注意参数是一个整型数,它允许不必将参数转换成字节型就可以调用write()。 void write(byte buffer[]):向一

文档评论(0)

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

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

1亿VIP精品文档

相关文档