文档详情

面向对象-教案(第32讲).doc

发布:2025-06-09约2.97万字共31页下载文档
文本预览下载声明

PAGE5

《面向对象程序设计》教案

第28讲

教学对象

计算机科学技术专业

授课内容

11.1I/O概述

11.2二进制I/O

11.3案例学习——文件加密解密

课程标准

教学目标

(一)知识目标

掌握File类及其操作文件的常用方法

了解字节输入流、输出流的层次结构和常用方法

掌握文件字节输入/输出流、缓存字节输入/输出流、数据字节输入/输出流的使用方法

(二)能力目标

1.能够应用字节流进行文件读写操作

2.能够根据实际需要正确选择IO流完成读写操作

教学方法

采用讲授法、演示法、讨论法、案例教学。

学时及分配(第1学时50分钟)

课堂讲授30分钟

课堂练习20分钟

11.1.1File类

11.1.2文本I/O与二进制I/O

11.2.2OutputStrream类和InputStream类

11.2.2FileOutputStream类和FileInputStream类

11.2.3缓冲I/O流

学时及分配(第2学时50分钟)

课堂讲授20分钟

课堂练习30分钟

11.2.4DataOutputStream类和DataInputStream类

11.2.5PrintStream类

11.2.6标准输出输出流

11.3案例学习——文件加密解密

知识点分析

重点:

熟悉File类中操作文件的常用方法

掌握InputStream类常用子类的层次结构和方法

难点:

使用文件字节输入/输出流读写文件

数据输入/输出流类的使用

教学过程设计

内容

方式

问题导入

输入/输出(I/O)是任何编程语言都提供的功能,Java语言从一开始就支持I/O,最初是通过java.io包中的类和接口提供支持的。目前Java支持流式I/O和文件I/O。本章我们重点学习流式I/O。

内容要点

11.1I/O概述

流式I/O分为输入流和输出流。程序为了获得外部数据,可以在数据源(文件、内存及网络套接字)上创建一个输入流,然后用read()方法顺序读取数据。程序可以在输出设备上创建一个输出流,然后用write()方法将数据写到输出流中。

write(),输出流read(),输入流

write(),输出流

read(),输入流

程序

文件或

其他设备

图11-1输入/输出流示意图

按照处理数据的类型分,数据流又可分为二进制流和文本流,也分别称为字节流和字符流,它们处理的信息的基本单位分别是字节和字符。

不管数据来自何处或流向何处,也不管是什么类型,顺序读写数据的算法基本上是一样的。如果需要从外界获得数据,首先需要建立输入流对象,然后从输入流中读取数据;如果需要将数据输出,需要建立输出流对象,然后向输出流中写出数据。

11.1.1File类

java.io.File类表示物理磁盘上的实际文件或目录,但它不表示文件中数据。

绝对文件名是由驱动器字母、完整的路径以及文件名组成,如D:\study\Hello.txt是Windows系统下的一个绝对文件名。

相对文件名是相对于当前工作目录的。对于相对文件名而言,完整目录被忽略。例如,Hello.txt是一个相对文件名。如果当前工作目录是D:\study,绝对文件名是D:\study\Hello.txt。

下面程序通过File类的对象创建一个文件,并演示有关方法的使用。

【程序11-1】FileDemo.java

11.1.2文本I/O与二进制I/O

文件通常可以分为文本文件和二进制文件。文本文件是包含字符序列的文件,可用文本编辑器查看或通过程序阅读。而内容必须按二进制序列处理的文件称为二进制文件。

实际上所有的文件都是以二进制形式来存储的,计算机并不区分二进制文件与文本文件。图11-3给出了文本I/O的操作过程。

字符的编码保存到文件中字符的编码保存到文件中

文本I/O程序

字符的Unicode码

“123”

编码/解码

编码/解码

图11-3文本I/O示意图

对于文本I/O而言,在写入一个字符时,Java虚拟机会将字符的统一码转换为文件指定的编码,在读取字符时,将文件指定的编码转换为统一码。编码和解码是自动进行的。图11-4给出了二进制I/O的操作过程。

二进制I/O程序一个字节被读/写123

二进制I/O程序

一个字节被读/写

123

字节写入文

显示全部
相似文档