第7节 输入输出(09级).ppt

  1. 1、本文档共153页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 java输入输出流及文件操作 7.1 输入和输出简介 流的含义 流 是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。 数据流是指一组有顺序的、有起点的和终点的字节集合。 流的分类 根据流的方向可以将流分成输入流和输出流。 输入流指数据从键盘或者文件等输入设备流向计算机(Input stream); 输出流指数据处理结果从计算机流向屏幕或文件等输出设备(Output stream)。 按流中数据序列的单位分两类: 字节流是以字节为单位进行输入输出处理的流。 字符流是以字符(16位的Unicode字符)为单位进行输入输出处理的流。 读写数据的过程 读数据的过程 将数据源的内容转换为流结构,该步骤由JDK API完成,程序员只需要选择合适的流类型即可。 从流中读取数据,该步骤由程序员完成,流中数据的顺序和数据源中数据的存储顺序保持一致。 写数据的过程 为连接指定的数据源而建立的专门的流结构,该步骤由JDK API完成,程序员只需要选择合适的流类型即可。 将数据以一定的格式写入到流中,该步骤由程序员完成,写入流中的数据的顺序就是数据在数据源中的存储顺序。 最后,当数据写入流中以后,可以通过一定的方式把流中的数据写入数据源,或者当流被关闭时,系统会自动将流中的数据写入数据源中。 输入输出基础类 7.2 字节流 InputStream和OutputStream类 这类流以字节(byte)为基本处理单位 可以完成最基本的从输入/输出流读/写数据的功能。 这两个类是抽象类。 它们是字节流所有类的超类。 从InputStream流读数据 abstract int read() throws IOException 读取一个字节的数据,并返回读到的数据。 如果返回-1,表示读到了输入流的末尾。 int read(byte[] b) throws IOException 将数据读入一个字节数组。同时返回实际读取的字节数。 int read(byte[] b,int off,int len) throws IOException 将读取的数据存储到b中,只是将流中的第一个数据存储到b中下标为off的位置,最多读取len个数据,而实际读取的字节数量则作为方法的返回值返回。 InputStream类其他方法 long skip ( long n ) 在输入流中跳过n个字节,并返回实际跳过的字节数; int available() 返回在不发生阻塞的情况下,可读取的字节数; void close():关闭输入流; void mark(int readlimit) 在输入流的当前位置放置一个标记,可实现重复读入; void reset():返回到上一个标记; boolean markSupported() 测试当前的流是否支持mark和reset方法。 字节输出流OutputStream void write(int b) throws IOException 往输出流中写入一个字节,写入的数据为参数b的最后一个字节。 void write(byte[] b) throws IOException 将数组b的所有字节写入输出流中。 void write(byte[] b, int off, int len) throws IOException 往输出流中写入数组b中的从偏移量off开始的len个字节的数据。 OutputStream其他方法 void close() 关闭输出流,释放和这个流相关的资源。 void flush() 刷新输出流,强制缓冲区中的输出字节被写出。 Reader和Writer是所有读取字符流类的父类抽象类。 字符流为从Reader和Writer派生出的一系列类。 这类流以16位的Unicode码表示的字符为基本处理单位。 Reader的类层次 Write的类层次 Reader类和Writer类 同类InputStream和OutputStream一样,Reader和Writer也是抽象类,只提供了一系列用于字符流处理的接口。 Reader和Writer的方法与类InputStream和OutputStream类似,只不过其中的参数换成字符或字符数组。 Reader类 Reader类的主要方法 boolean ready() 输入字符流是否可读 int read() 读取一个字符 int read(char[] cbuf) throws IOException 读取一串字符(到字符数组cbu

文档评论(0)

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

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

1亿VIP精品文档

相关文档