JAVA文件与数据流.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 Java数据流 数据流 输入输出过程涉及到计算机的内存和外设,所谓输入输出就是内存与外设之间数据传输的过程。输入输出都是相对于计算机内存来说的,将数据从外设传递给内存称为输入,数据由内存传递到外设称为输出。 在Java中,把这些不同类型的输入、输出源抽象为流(Stream)。 而其中输入或输出的数据则称为数据流(Data Stream),用统一的接口来表示。 数据流的基本概念 数据流是指一组有顺序的、有起点和终点的字节集合,输入输出过程中传递的数据组成数据流。从数据流中读取数据时,必须有一个数据源与该数据流相连。 数据的类型不同,所以数据流可划分为不同的集合。根据数据的特点,集合又划分为各个子集,从而形成层次关系。最顶层是输入数据流(input stream)和输出数据流(output stream),以及现行版本中新加入的读者(Reader)和写者(Writer),输入数据流只能读不能写,而输出数据流只能写不能读。 输入数据流 输入数据流(Input Stream) 只能读不能写的数据流,用于从外设向计算机内存传递数据。 java.io包的输入数据流由抽象类InputStream继承而来,并且实现了其中所有方法。 从数据流中读取数据时,必须有一个数据源与该数据流相连。 输入数据流中提供了read()方法,用来读取数据,所读取的数据都默认为字节类型。 当结束对一个数据流的操作时应该将其关闭,同时释放与该数据流相关的资源,用到的方法即是close()。建议程序中显式关闭输入输出流。 输出数据流 输出数据流(Output Stream) 只能写不能读的流,用于从计算机内存向外设输出数据。 write()系列方法是输出的主要方法,方法的使用方式和所带的参数与read()方法非常类似。 当结束对输出数据流的操作时也应该使用close()方法将其关闭。 文件数据流 文件输入输出数据流 FileInputStream FileOutputStream 这两个类用来进行文件的I/O处理,其数据源都是外存中的文件。 例10-1 建立数据源和数据终点 FileInputStream inputfile = new FileInputStream(myInputFile.txt); FileOutputStream outfile = new FileOutputStream(myOutputFile.txt); 在双引号中直接指出文件名,从而创建文件数据流对象,myInputFile是数据流的数据源,用来读入数据;而myOutputFile是数据终点,用来向其中写入数据。 文件数据流 例10-2 将数据写入文件 FileOutputStream out = new FileOutputStream(myOutputFile.txt); out.write(H); out.write(69); out.write(76); out.write(L); out.write(O); out.write(!); out.close(); 文件myOutputFile.txt中会保存字符串HELLO!。 过滤器数据流 基本数据输入输出操作只能提供对字节或字符的处理,当需要处理其他类型时,例如整数、浮点数或字符串时,需要使用一个过滤器类来包装输入流。 过滤器流在创建时与一个已经存在的数据流相连,这样在从这样的数据流中读取数据时,它提供的是对一个原始输入数据流的内容进行了特定处理的数据。 过滤器数据流包括缓冲区数据流、数据流等。 缓冲区数据流有BufferedInputStream和BufferedOutputStream,它们是在数据流上增加了一个缓冲区。当读写数据时,数据以块为单位先进入缓冲区(块的大小可以进行设置),其后的读写操作则作用于缓冲区。 缓冲区数据流示例 例10-3 缓冲区数据流示例 使用默认的缓冲区大小: FileInputStream fis1 = new FileInputStream(myFile);//基本输入数据流 InputStream is = new BufferedInputStream(fis1); //缓冲区输入数据流 FileOutputStream fos1 = new FileOutputStream(myFile); //基本输出数据流 OutputStream os = new BufferedOutputStream(fos1);//缓冲区输出数据流 FileInputStream fis2 = new FileInputStream(myFile); InputStream is = n

文档评论(0)

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

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

1亿VIP精品文档

相关文档