Java第10章 文件和流.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 文件和流;●理解数据流的基本概念,包括输入数据流和输出数据流 ●熟悉基本字节数据流类,包括文件数据流、过滤流、管道数据流及对象流的理解和应用 ●掌握基本字符流,包括Reader类和Writer类及其子类的实现;理解并能应用BufferedReader类和BufferedWriter类 ●理解文件处理的概念;能够运用File类和随机访问文件对文件进行操作和处理 ;10.1 数据流的基本概念 10.2 基本字节数据流类 10.3 基本字符流 10.4 文件的处理 10.5 实训 10.6 习题 ;10.1.1 输入数据流 10.1.2 输出数据流 ; Java所有的I/O机制都是基于数据流的,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java语言定义了许多类专门负责各种方式的输入输出,这些类都被放在java.io包中。其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类;而所有输出流都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。 ; InputStream类是字节输入流的抽象类,是所有字节输入流的父类。InputStream类的具体层次结构如图10-1所示。 图10-1 InputStream类结构图 ;InputStream类包括的主要方法有: 1)abstract int read():读取一个字节的数据,并返回读到的字节。read方法若遇到数据流的末尾,便会返回一个–1值。 2)int read(byte[] b):将数据读入一个字节数组,同时返回读回的字节数。和前面一样,如果遇到数据流的末尾,read方法会返回一个–1值。读入的最大字节数由b.length界定。 3)int read(byte[] b,int off,int len):将数据读入一个字节数组。read会返回读回的实际字节数,或在流的结尾处返回一个–1值。其中: b:指定要把字节读入哪个数组; off:指定数组的偏移位置,第一个字节应放在哪个位置; ; len:读回的最大字节数。 4)long skip(long n):在输入流中跳过几个字节,它返回的实际跳过的字节数(如果遇到流的末尾,这个数字则可能小于n)。 5)int available():返回在不加阻止的情况下,可用的字节数(“阻止”是指当前线程必须暂停,等待下一次被唤醒)。 6)void close():关闭输入流。 ; OutputStream类是字节输入流的抽象类,此抽象类是表示输出字节流的所有类的超类。OutputStream类的具体层次如图10-2所示。 图10-2 OutputStream类的层次结构 ;OutputStream类包括的主要方法有: 1)abstract void write(int b):写入一个字节的数据。 2)void write(byte[] b):写入数组b内的所有字节。 3)void write(byte[] b,int off,int len):功能和上面的方法一样。 其中: b:指定要从哪个数组写入数据; off:指定数组b的一个偏移位置,从哪个位置的字节开始写入; len:要写入的字节数量。 4)void close():清空和关闭输出流。 ; 5)void flush():清空输出流;换言之,将缓冲下来的所有数据都发到目的地。对于缓冲流式输出来说,write()方法所写的数据并没有直接发送到输出流的目标端,而是先暂时存放在流的缓冲区中,等到缓冲区中的数据达到一定的数量后,再一次性的向目标端写出。但在某些情况下,缓冲区中的数据不满时就需要将它写到目标端,这时就需要使用flush()方法。 ;10.2.1 文件数据流 10.2.2 过滤流 10.2.3 管道数据流 10.2.4 对象流 ; 文件数据流包含java.io.FileInputStream和java.io. FileOutputStream。 java.io.FileInputStream是InputStream的子类,从File名称上就可以知道,它是从文件读入的输入流。java.io. FileOutputStream是OutputStream的子类,顾名思义,它是写入文件的输出流。 当建立一个FileInputStream或OutputStream的实例时,必须指定文件位置及文件名称,实例被建立时文件的流会开启;而不使用流时,必须关闭文件流,以释放与流相依

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档