- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 新Java 程序设计项目教程(教育部高职高专计算机教指委规划教材) 教学课件 张兴科 季昌武 项目五.ppt
- 新JavaScript程序设计基础教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 阮文江 第七章 对象编程1.ppt
- 新JavaScript程序设计基础教程 教学课件 曾海 第9章 CSS+DIV技术.ppt
- 新JavaScript脚本程序设计 教学课件 吴以欣 陈小宁 第3章 JavaScript常用内置对象.ppt
- 新Java编程与应用教程 教学课件 张莉 java_03.ppt
- 新Java编程与应用教程 教学课件 张莉 java_11.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 1_ 第7章 Java的图形与用户界面.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 第3章 类、类的继承和接口.ppt
- 新Java程序设计教程 工业和信息化普通高等教育“十二五”规划教材 教学课件 段新娥 贾宗维 2_ chap9.ppt
- 新Java程序设计教程 教学课件 杨晓燕 java9.ppt
最近下载
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案).pdf VIP
- 2024届福建省莆田市高三第二次教学质量检测二模生物试卷.doc VIP
- 电梯维修及维护人员的安全知识与技能培训课件.pptx VIP
- 小学新教育实验实施方案(详细).docx
- 23中英文双语单片机车辆防碰撞外文文献翻译:基于超声波与单片机嵌入式系统开发集成应用的汽车防撞系统设计.doc VIP
- 八年级数学上册《分式》教案教材分析.pdf VIP
- 大华DSS5000系列-客户端操作手册-.docx
- 2013款上汽通用别克君越_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 人教版数学二年级下册全册教学课件(2023年新教材).pptx
- 越人歌-钢琴伴奏谱.pdf
文档评论(0)