第10章 输入与输出_第1页
第10章 输入与输出_第2页
第10章 输入与输出_第3页
第10章 输入与输出_第4页
第10章 输入与输出_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东南博职业技术学院 课 时 授 课 计 划 编号 Win001 班级 班班班 日期第 10 教学周 课 题 输入与输出 目的 要求 要求学生掌握输入与输出字符流 学会处理键盘输入 文件读取 文 件输出等 重 点 字符流与字节流的区别 及用法 难 点 文件的读取与写入 教 法 讲 授 动手操作 教 具教材及课外资料 无课外资料 组织教学0复习旧课上机练习讲授新课2课时 分配小结巩固1布置作业上机练习其他1 教 学 内 容 及 进 程 一 字节流处理类 1 InputStream 类 2 OutputStream 类 二 字符流处理类 1 Reader 类 2 Writer 类 三 文件类 File 类 课外 作业 1 写程序 将一个文件中的内容读出 写入到另一个文件中 课后 作业 第 10 章 输入与输出 10 1 输入输出类库 Java 的输入输出是以流 stream 的方式来处理 流是在计算机的输入 输出操作中流动 的数据序列 流式输入 输出的特点是数据的获取和发送均沿数据序列顺序进行 数据序列中既可以是未经加工的原始二进制数据 也可以是按一定编码处理后符合某 种格式规定的特定数据 如字符数据 所以 Java 中的流有位流 字节流 和字符流之分 输入流 从键盘 磁盘文件流向程序的数据 输出流 从程序流向显示器 打印机和磁盘文件的数据 10 1 2 字节流处理类 字节流处理类提供了直接读取和写入二进制数据 但没有经过编码处理 因此 能正 常读写英文或数字 但读写中文时就会出现乱码 字符流处理类对读取和写入的字节流进行了编码 因此读写时不会出现乱码 10 1 2 InputSteam 类 输入或读取字节流的类说明如下 InputStream 类 是抽象类 其子类可完成最基本的从输入流读取数据的功能 FileInputStream 类 以字节流方式 读取本地文件 FilterInputStream 类 是抽象类 有 2 个子类 DataInputStream 类 从字节流中读取数据时 具备格式转换功能 如能一次读一个双精 度数 BufferedInputStream 类 具缓冲功能的输入字节流 InputStream 类及其子类的主要方法有 1 public int read 方法 以二进制的方式读入 但不能分解 重组和理解数据 使之变 换 恢复到原来的有意义状态 2 public long skip long n 方法 将指针从当前位置向后跳动 n 个字节 3 public void mark 方法 在指针位置做一个标记 4 public void reset 方法 将指针移动到标记位置 5 public void close 方法 当输入流使用完毕后 可以调用 close 方法将其关闭 下例为以字节流读取 D samples testInput txt 文件的内容并打印出来 数字和英文能正常显 示 但中文会是乱码 FileInputStream fin new FileInputStream D samples testInput txt System out println 文件中信息为 int ch fin read while ch 1 System out print char ch InputStreamFileInputStream FilterInputStreamDataInputStream BufferedInputStream ch fin read fin close 10 1 2 OutputStream 类 输出或写入字节流的类说明如下 FileOutputStream 类 用来对本地文件进行写入操作 FilterOutputStream 类 是抽象类 有 2 个子类 DataOutputStream 类 向流中写入数据时 可以实现对二进制字节数据的编码功能 如 能一次写入一个双精度数 BufferedOutputStream 类 具缓冲功能的输出字节流 PrintStream 类 将任意类型数据输出为字符串形式 OutputStream 类及其子类的主要方法有 1 public int write int b 方法 以二进制的方式向输出流写入数据 只能逐字节地输出数 据 2 public long flush 方法 强制缓冲区 并将缓冲区中的现有数据写入外设 3 public void close 方法 关闭输出流 断开 Java 程序与外设数据源的连接 释放资源 下例为输入字符串 以 号结束 将字符串以字节流的方式写入到 D samples testOutput txt 文件中 FileOutputStream fout new FileOutputStream D samples testOutput txt System out print 输入任一字符串 以 结束 ch char System in read 读从键盘输入的一个字节 while ch fout write ch 如果加 fout write 49 写入到文件中的汉字就会是乱码 ch char System in read 读下一字节 fout close 10 1 2 Reader 类 读入字符流的类说明如下 Reader 类 以字符方式从流中读入数据 BufferedReader 类 具备缓冲功能的字符输入类 OutputStreamFileOutputStream FilterOutputStream DataOutputStream BufferedOutputStream PrintStream ReaderBufferedReader InputStreamReaderFileReader InputStreamReader 类 是字节输入流和字符输入流之间的桥梁 它从字节流中读入数据 然后根据字符编码规则将它们转换成字符 FileReader 类 用于从文件中读入字符流 Reader 类及其子类的主要方法有 1 public int read 方法 逐字符地读入数据 2 public long skip long n 方法 将指针从当前位置向后跳动 n 个字节 3 public void mark 方法 在指针位置做一个标记 4 public void reset 方法 将指针移动到标记位置 5 public void close 方法 当输入流使用完毕后 可以调用 close 方法将其关闭 6 BufferedReader 类的 public String readLine 方法 能每次读入一段 直到返回 null 表示 读完 下例为以 FileReader 对象来读取文件 D samples testFileReader txt 中内容 因为是以字符 流形式 所以不会出现乱码 FileReader fin new FileReader D samples testFileReader txt System out println 文件中信息为 int ch fin read while ch 1 System out print char ch ch fin read fin close 下例为以 FileReader 对象为参数建立 BufferedReader 对象 来读取文件 D samples testFileReader txt 中内容 调用后者的 readLine 方法一次读入一段 FileReader fin new FileReader D samples testFileReader txt BufferedReader br new BufferedReader fin System out println 文件中信息为 String str br readLine while str null System out println str str br readLine fin close 10 1 2 Writer 类 写入字符流的类说明如下 Writer 类 以字符方式向输出流中写入数据 WriterPrintWriter OutputStreamWriterFileWriter BufferedWriter PrinterWriter 类 提供流的格式化输出功能 BufferedWriter 类 对字符输出流提供了缓冲功能 OutputStreamWriter 类 是字符输出流和字节输出流之间的桥梁 它从字符流读取数据 然 后根据字符编码规则将它们转换成字节 FileWriter 类 用来向文件中写入字符流 Reader 类及其子类的主要方法有 1 public void write int c 方法 将参数 c 对应的字符写入输出流 2 public void writer String str 方法 将字符串参数 str 写入输出流 3 public long flush 方法 强制缓冲区 并将缓冲区中的现有数据写入外设 4 public void close 方法 关闭输出流 断开 Java 程序与外设数据源的连接 释放资源 下例以文件 D samples testFileWriter txt 新建 File 对象 file1 再以 file1 作参数新建 FileWriter 对象 fw 最后以 fw 作参数新建 BufferedWriter 对象 实现向文件中写入文字 File file1 new File D samples testFileWriter txt FileWriter fw new FileWriter file1 BufferedWriter bw new BufferedWriter fw bw write 中人办民 bw newLine 换行 bw write 中人 abc 办民 bw close fw close 10 1 2 File 类 File 类位于 java io 包中 它不是流类 不负责数据的 输入输出 而专门用来管理磁盘文件和目录 构造方法 File String path 以参数 path 指定所建对象对应的磁盘文件名或目录路径名 例 File f1 new File D test file1 txt File String path String name path 表示文件或目录的路径 name 表示文件或目录名 例 File f2 new File D test file2 txt File File dir String name path 表示目录对象 naem 表示文件或目录名 例 File fileDir new File D test File f3 new File fileDir file3 txt File 类的方法 1 public String getName 返回文件或目录名 2 public String getPath 返回文件或目录路径 3 public boolean exists 文件或目录是否存在 4 public long length 返回文件的字节数 5 public boolean canRead 是否是可读文件 6 publ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论