江西师范大学Java语言程序设计课件第7章 Java的输入、输出.ppt

江西师范大学Java语言程序设计课件第7章 Java的输入、输出.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面向对象程序设计教程 第7章 Java的输入/输出 流的概念 流(Stream)是有序的数据序列,它有源(输入流)与目的(输出流)。 为获取信息,程序在一个信息源上打开一个流并顺序地读取信息;类似地,也可打开一个流将信息发送到外面。 java.io包使用术语流定义I/O(输入/输出)。该包有两个主要的部分:字符流(Character stream)和字节流(Byte stream)。 基于文本的I/O都是一些人们能够阅读的字符(比如说程序的源代码),而基于数据的I/O是二进制(比如说表示图像的位图)。 字符流被用于文本I/O;字节流被用于二进制数据I/O。 字节流被称作输入流(Input stream)或输出流(Output stream),而字符流被称作Reader或Writer。 字节流不能正确携带字符,一些与字符相关的流在字节流里是没有意义的 。 java.io包里的类和接口分类 普通的用于建立不同字节和字符流类型的类——输入输出流、Reader、Writer和在它们之间进行转换的类。 定义不同类型流的范围——过滤流、缓冲流、管道流以及一些流的具体实例。 读写基本值和字符串数据流的类和接口。 一个以系统无关的方式与文件进行交互的类和接口。 形成对象串行化(Object serialization)机制的类和接口——将对象传递到字节流,或从一个字节流中读取数据,重新组建对象。 java.io包为基本的字节输入/出流定义了抽象类。流类型基本都是成对出现的。以下是字节流的层次结构 InputStream抽象类 int read() –抽象方法:它从输入流中读取下一个字节,返回范围在0到255之间的一个整数。 int read(byte b[]) –从输入流读取长度为b.length的数据,写入到字节数组b,并返回所读取的字节数。 int read(byte b[], int off , int len) –从数据流中读取长度为len的数据,写入到字节数组b中从下标off开始的位置,并返回读取的字节数。 以上三个方法,如果到达流的末端位置,用返回-1表示流的结束 InputStream 类提供的方法 int available() –返回从输入流中可以读取的字节数。 long skip(long n) –从输入流的当前读取位置起向前移动n个字节,并返回实际跳过的字节数。 close( ) –关闭流并且释放与该流相关的资源。 InputStream及其子类的推荐用法 当需要输入ASCII正文或者二进制数值时,应当使用InputStream类。 根据输入源,选用FileInputStream或某个getInputStream方法。 可以有选择性地使用任意数量的InputStream过滤器、缓冲区、扩展器、编码器等子类,然后在上层包装DataInputStream类,并使用它的read方法执行输入。如果需要读入对象而非普通数据,则应当使用ObjectInputStream类。 如果需要使用缓冲技术,应当直接包装FileInputStream类,以便尽可能早地让所有的类都采用缓冲技术。 OutputStream抽象类 void write(int b) –抽象方法:它将指定的字节b 写入输出流。如果b的值大于255,则只输出它的低位字节所表示的值。 void write(byte b[ ]) –把字节数组b中的b.length个字节写入输出流。 void write(byte b[ ], int off, int len) –把字节数组b 中从下标off起的len个字节写入到输出流。 void flush() –刷空输出流,并且输出所有存储在缓冲区的字节 close()显式地关闭输出流 字符流 Reader抽象类 对于Reader,基本的读法是将值读入一个字符数组,其他的读方法是基于这个方法定义的。而InputStream类使用读单个字节的read方法作为基本的读方法。 Reader的子类中必须实现抽象方法close,而不是继承空实现 InputStream有一个available方法,告诉可以读取多少字节,而Reader有一个ready方法,告诉是否有数据 Writer抽象类 public void write(int b) –将b 作为一个字符写入输出流。 public abstract void write( char [ ] cbuf, int off, int len) –把字符数组cbuf 中从下标off起的len个字符写入到输出流。 public void write(char [] cbuf) –

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档