基本信息
文件名称:面向对象-教案(第29讲)文本IO流;(第30讲)对象序列化.doc
文件大小:76.21 KB
总页数:9 页
更新时间:2025-06-15
总字数:约8.68千字
文档摘要

PAGE5

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

第29讲

教学对象

计算机科学技术专业

授课内容

11.4文本I/O流

11.5案例学习——统计文件字符数、单词数和行数

课程标准

教学目标

(一)知识目标

1.了解字符输入/输出流的层次结构和常用方法

2.掌握文件字符输入/输出流类的使用方法

3.掌握缓存字符输入/输出流类的使用方法

(二)能力目标

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

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

教学方法

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

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

课堂讲授30分钟

课堂练习20分钟

11.4文本I/O流

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

课堂讲授20分钟

课堂练习30分钟

11.5案例学习——统计文件字符数、单词数和行数

知识点分析

重点:

Reader类和Writer类的常用方法

FileReader类和FileWriter类的常用方法

BufferedReader类和BufferedWirter类的常用方法

难点:

应用FileReader类和FileWriter类读写数据

应用BufferedReader类和BufferedWirter类读写数据

教学过程设计

内容

方式

问题导入

上节学习的二进制输入/输出流是以字节为信息的基本单位,本节学习以字符为基本单位的文本I/O流,也叫字符I/O流。

内容要点

11.4文本I/O流

11.4.1Writer类和Reader类

抽象类Writer和Reader分别是文本输出流和输入流的根类,它们实现字符的写读。Writer类定义的常用方法如下。

publicvoidwrite(intc):向输出流中写一个字符,实际是将int型的c的低16位写入输出流。

publicvoidwrite(char[]cbuf):把字符数组cbuf中的字符写入输出流。

publicvoidwrite(Stringstr):把字符串str写入输出流中。

publicvoidflush():刷新输出流。

publicvoidclose():关闭输出流。

Reader类定义的方法主要有:

publicintread():读取一个字符,返回范围为0到65535之间int型值,如果到达流的末尾返回-1。

publicintread(char[]cbuf):读取多个字符到字符数组cbuf中,如果到达流的末尾返回-1。

publicvoidclose():关闭输入流。

Writer类和Reader类的方法在发生I/O错误时都抛出IOException异常,因此在程序中应该捕获异常或声明抛出异常。

11.4.2FileWriter类和FileReader类

FileWriter类是文件输出流,FileReader类是文件输入流。当操作的文件中是文本数据时,推荐使用这两个类。

FileWriter类构造方法有:

publicFileWriter(StringfileName):用参数fileName指定的文件创建一个文件输出流对象。

publicFileWriter(Filefile):用参数file指定的File对象创建一个文件输出流对象。

publicFileWriter(StringfileName,booleanappend):使用该构造方法创建文件输出流对象时,如果参数appent指定为true,则可以向文件末尾追加数据,否则覆盖文件原来的数据。

FileReader类构造方法有:

publicFileReader(StringfileName):用字符串表示的文件构造一个文件输入流对象。

publicFileReader(Filefile):用File对象表示的文件构造一个文件输入流对象。

FileWriter类是OutputStreamWriter的子类,它实现文本输出流向二进制输出流的转换;FileReader类是InputStreamReader的子类,它实现二进制输入流向文本输入流的转换功能。

下面的FileCopyDemo.java程序使用FileReader和FileWriter将文件input.txt的内容复制到output.txt文件中。

【程序11-8】FileCopyDemo.java

11.4.3BufferedWriter类和BufferedReader类

BufferedWriter类和BufferedReader类