- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
共21页 程序设计 第6章 I/O处理与对象串行化 学习目标 掌握文件的处理。 理解流的概念。 掌握字节流的处理。 了解字符流的处理。 理解对象串行化的作用。 掌握对象串行化和反串行化的处理。 重难点 重点 文件的处理。 字节流的处理。 字符流的处理。 对象串行化 对象反串行化 难点 File类。 文件名过滤器。 过滤流。 对象串行化 对象反串行化 目录 6.1 文件处理 6.1.1 文件处理概述 文件处理 文件操作 目录操作:是一种特殊的文件 File类 平台无关性 对Linux和Windows平台,使用相同的File类 6.1.2 文件类的使用 File类描述了文件对象的属性和提供了对文件对象的操作。 一些常用的操作 获得文件或目录的信息 判断文件或目录是否存在 一些常用的操作(二) 删除文件或目录 删除失败的可能原因有: 要删除的文件或目录不存在。 要删除的是一个目录,而该目录下还有文件或目录。 没有权限进行删除操作。 创建目录 列出一个目录下的所有文件 使用listFiles()方法 返回的是File数组 使用list()方法 返回的是String数组 列出一个目录及其子目录下的所有文件 通过递归调用实现 文件名过滤器 listFiles()方法和list()方法有一个重载,可以指定文件名过滤器 文件名过滤器需要自定义,它必须实现FilenameFilter接口 6.2 I/O处理 I/O处理用流来表示 6.2.1 概述 输入输出流的分类 按流的方向分类 输入流 输出流 按流处理的数据单位不同分类 字节流 字符流 按流的功能不同分类 节点流 处理流 输入输出流有关的类 Java语言提供的与I/O流有关的类多达数十种,它们分为四大类 字节输入流 字节输出流 字符输入流 字符输出流 6.3 字节流 以字节为单位对数据进行处理 字节输入流 从外设(硬盘)读取数据 read()方法 字节输出流 将数据写出到外设(硬盘) write()方法 适用于处理二进制文件 可执行文件:*.exe、*.dll等 图片图像文件:*.gif、*.jpg等 特定格式的文件:*.doc、*.pdf等 字节流的有关方法 字节输入流 FileInputStream类 字节输出流 FileOutputStream类 操作步骤 异常处理 多种异常 嵌套的try结构 写到文件中 write()方法,有多个重载 写字节数组 写一个字节 从文件中读入 read()方法,也有多个重载 读入一个字符 读入多个字符,不指定读取长度时,只读取数组长度个字节 从文件中读入(判断文件尾) 前述代码有二个问题 没有处理文件末尾(是否还有数据可读) read()返回的是整型,而非字节型 缓冲流 直接处理大文件时,效率是非常低的 使用缓冲技术可以提高效率 过滤流 缓冲流是一种过滤流 可以写成一行 输入流 输出流 6.4 字符流 以字符为单位对数据进行处理 字符输入流 从外设(硬盘)读取数据 read()方法 字符输出流 将数据写出到外设(硬盘) write()方法 适合处理文本文件,特别是含有Unicode码(中文)的 源代码文件 *.xml文件、*.html文件 某些配置文件(*.properties、*.ini等) 脚本文件等 字符流的有关方法 字符输入流 FileReader类 字符输出流 FileWriter类 操作步骤 读写文件(复制) 代码中没有捕获异常的代码,但仍然使用了try结构,这是由于需要在finally中关闭流,以保证流能被关闭。 这段代码所在的方法需要声明抛出异常 缓冲流 常用方法 缓冲型字符输入流 缓冲型字符输出流 缓冲流的例子 以文本行为单位读入源代码文件的每一行内容,输出到屏幕 注意事项 结束时要关闭流,并且关闭的代码应该放在finally语句块中。 使用缓冲流可以大幅度提高性能。 使用各种过滤流来完成特定的功能,如加密和解密。 6.5 对象的串行化 串行化(序列化) 作用是将对象的状态保存下来 因此也称为持续性(持久性) 串行化的用途: 将对象保存到文件中,需要时再读取出来。 程序运行时通过网络传输对象。 声明可串行化的类 只有实现了java.io的Serializable接口,一个类的实例才是可串行化的 串行化 串行化是将对象写到文件中(或其它流中) 反串行化 反串行化是从文件中(或其它流)读取对象的状态 测试 用单元测试来测试前述代码是否正确 这是文件D:/temp/myCircle.obj的内容 串行化注意事项 串行化保存的内容 对象的状态,即非静态的成员变量(属性) 不能保存方法,或类变量 transient修饰符 用它修饰的属性将不被串行化
您可能关注的文档
- Java Web应用开发技术 任文娟 第1章 Java Web应用概述新.ppt
- Java Web应用开发技术 任文娟 第2章 Servlet技术新.ppt
- Java Web应用开发技术 任文娟 第4章 Java Web编程中数据库技术的使用新.ppt
- Java Web应用开发技术 任文娟 第5章 MVC架构模式新.ppt
- Java Web应用开发技术与案例教程 张继军 第1章_Java_Web应用开发技术新.ppt
- Java Web应用开发技术与案例教程 张继军 第2章_静态网页开发技术新.ppt
- Java Web应用开发技术与案例教程 张继军 第5章_JavaBean技术新.ppt
- Java Web应用开发技术与案例教程 张继军 第6章_Servlet技术新.ppt
- Java Web应用开发技术与案例教程 张继军 第7章_Java_Web常用开发模式新.ppt
- Java Web应用开发技术与案例教程 张继军 第10章_Java Web实用开发技术新.ppt
- Java程序设计与实训 黄能耿 java-08新.ppt
- Java程序设计与应用开发 孙燮华 第3章 数组与字符串新.ppt
- Java程序设计与应用开发 孙燮华 第6章 布局管理器新.ppt
- Java程序设计与应用开发 孙燮华 第7章 Applet编程新.ppt
- Java程序设计与应用开发 孙燮华 第8章 图形GUI设计新.ppt
- Java程序设计与应用开发 孙燮华 第9章 多线程新.ppt
- Java程序设计与应用开发 孙燮华 第10章 JDBC与数据库新.ppt
- Java程序设计与应用开发 孙燮华 第12章 动画设计新.ppt
- Java程序设计与应用开发 孙燮华 第13章 学生信息管理系统设计新.ppt
- Java程序设计与应用开发 孙燮华 第14章 网络编程新.ppt
最近下载
- synopsys学习资料-dw_debugger.pdf VIP
- 人体形态与结构课程标准.docx VIP
- 压力管道日管控、周排 查、月调度工作制度.pdf VIP
- 马工程《世界经济概论》(第二版)教学课件第十五章.pptx VIP
- 同济大学临床医学专业五年制培养方案.docx VIP
- SPMP-STD-EM2004-2016石油化工工厂基础工程设计内容规定.pdf VIP
- GBT28046.4_道路车辆电气及电子设备的环境条件和试验第4部分气候负荷.docx VIP
- 华为任职资格全套——任职资格体系胶片.ppt VIP
- 从《兰亭集序》浅析魏晋士人自觉意识苏醒.doc VIP
- 第6课第二次世界大战的爆发教案.docx VIP
文档评论(0)