- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 输入输出流与文件 程序的一项重要功能是能够与外部设备进行交互,通过数据的输入和输出功能,实现计算机与外部设备的交互。 Java类库中的java.io包提供了一系列输入输出流,实现了不同形式的读写方法。 第9章 输入输出流与文件 9.1输入输出流简介 9.2字节输入输出流 9.3字符输入输出流 9.4文件的创建与访问 9.5标准输入输出流 9.1输入输出流简介 在Java中进行数据的输入和输出时,采用顺序的流传输方式。流是在两个设备间传输的线性的、连续的数据序列 。 流(Stream)分为输入流和输出流: 输入流是从外部设备向计算机程序流动的数据序列,程序对输入流进行读操作; 输出流是从计算机程序向外部设备流动的数据序列,程序对输出流进行写操作。 9.1输入输出流简介 输入输出数据流的传输方式 : 9.1输入输出流简介 Java类库中的java.io包中包含对输入流和输出流的相关处理类。 java.io包中的类分为两部分: 字节输入输出流(Byte Streams)处理类,字节流用来读写8位的字节数据 。 字符输入输出流(Character Streams)处理类,字节流用来读写16位的字节数据。 9.2字节输入输出流 字节流用来读写8位的字节数据,InputStream类和OutputStream类是所有字节输入输出流类的父类, InputStream类和OutputStream类是抽象类,不能用来创建对象,只能使用它们的派生类进行字节流的读写。 InputStream类实现对8位的输入字节流进行与读操作,OutputStream类包括对8位的输出字节流进行与写操作。I 字节输入流InputStream 字节输入流是通过继承抽象类InputStream类来实现的。从功能上,InputStream类主要提供了以下三类方法: 读取数据 定位数据 关闭数据流 字节输入流 1.读取数据 InputStream类提供了3个重载的read方法,实现对字节输入流的读取。它们只能读取8位的字节数据。 public abstract int read() throws IOException 方法的作用是从输入流中读取一个字节,如果读到输入流末尾,返回-1。该方法是一个抽象方法,InputStream类的子类必须覆盖该方法。 public int read(byte[] b) throws IOException 从输入流中读取多个字节,放入字节数组b中。读取的字节数为数组b的长度b.length。 public int read(byte[] b, int off, int len) throws IOException 从输入流中读取参数len个字节,放入字节数组b中,数据的放置位置从数组b的off位置开始,依次存放。如果输入流的数据小于len字节,以实际读取的字节数为准; 字节输入流 2.定位数据 实际应用中,对输入流的读取并不是全部从头开始,因此在读输入流之前,需要确定读取的开始位置。 ? public long skip(long n) throws IOException 从输入流当前位置向后跳过或丢弃参数指定的n个字节,并返回实际跳过的字节数。如果输入流的长度小于n,该方法跳过的实际字节数为输入流从当前位置到最后的长度。因此,skip方法的返回值的大小可能小于n。 ? public void mark(int readlimit) throws IOException 在输入流的当前位置处做一个标记。参数readlimit表示做出标记后,当读取的字节数达到readlimit时,标记失效。 ? public void reset() throws IOException 重新定位输入流的当前位置到mark()方法标记的位置。 ? public boolean markSupported() 测试输入流是否支持mark()和reset()方法,如果支持,返回布尔值true;反之,返回false。 字节输入流 3.关闭输入流 public void close() throws IOException 关闭输入流,断开与外部数据源的连接,并释放连接占用的相关系统资源。如果发生I/O错误,则抛出IOException异常。当输入流使用完毕,需要调用该方法关闭流。如果不关闭流,将会发生不可预知的错误。 字节输入流 InputStream类提供了一系列数量很多、功能丰富的子类,分别实现对不同场合、不同类型字节数据流的操作。 字节输入流 字节输出流 字节输出流输出8位的字节数据流,是通过继承抽象类OutputStream类来实现的。OutputStream类提供了一系列对字节输出流进行相关处理的方法。
文档评论(0)