InputStream和Reader 全国优质课一等奖_第1页
InputStream和Reader 全国优质课一等奖_第2页
InputStream和Reader 全国优质课一等奖_第3页
InputStream和Reader 全国优质课一等奖_第4页
InputStream和Reader 全国优质课一等奖_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

InputStream和Reader北京电子科技职业学院目录Part01教学目标Part02教学内容Part04巩固提高ContentsPart03教学总结Part01教学目标教学目标知识目标InputStream和Reader的使用01能力目标掌握InputStream和Reader的使用方式02Part02教学内容1.输入流InputStream和Reader是所有输入流的基类,它们都是两个抽象类,本身并不能创建实例来执行输入,但它们将所谓所有输入流的模板,所以它们的方法是所有输入流都可使用的方法。它们包含如下三个方法:intread():从输入流中读取单个字节(相当于从图15.5所示水管中取出一滴水),返回所读取的字节数据(字节数据可直接转换为int类型)。intread(byte[]/char[]b):从输入流中读取最多b.length个字节的数据,并将其存储在字节数组b中,返回实际读取的字节数。intread(byte[]/char[]b,intoff,intlen):从输入流中读取最多len字节的数据,并将其存储在数组b中,放入b数组中时,并不是从数组起点开始,而是从off位置开始,返回实际读取的字节数。2.字节流读文件

//创建字节输入流

FileInputStreamfis=newFileInputStream("FileInputStreamTest.java"); //创建一个长度为1024的“竹筒”

byte[]bbuf=newbyte[1024]; //用于保存实际读取的字节数

inthasRead=0; //使用循环来重复“取水”过程

while((hasRead=fis.read(bbuf))>0) { //取出“竹筒”中水滴(字节),将字节数组转换成字符串输入!

System.out.print(newString(bbuf,0,hasRead)); } //关闭文件输入流,放在finally块里更安全

fis.close();3.字符流读文件

try( //创建字符输入流 FileReaderfr=newFileReader("FileReaderTest.java") ){ //创建一个长度为32的“竹筒”

char[]cbuf=newchar[32]; //用于保存实际读取的字符数

inthasRead=0; //使用循环来重复“取水”过程

while((hasRead=fr.read(cbuf))>0){ //取出“竹筒”中水滴(字符),将字符数组转换成字符串输入!

System.out.print(newString(cbuf,0,hasRead)); } }catch(IOExceptionex){ ex.printStackTrace(); }4.处理流的用法使用处理流来包装节点流,程序通过处理流来执行输入/输出功能,让节点流与底层的I/O设备、文件交互。实际上我们要识别处理流非常简单,只要流的构造器参数不是一个物理节点,而是已经已经存在的流,那么这种流就一定是处理流;而所有节点流都是直接以物理IO节点作为构造器参数的。程序使用处理流非常简单,通常只需要在创建处理流时传入一个节点流作为构造器参数即可,这样创建的处理流就是包装了该节点流的处理流。5.BufferedReader读文件BufferedReaderbr=newBufferedReader(newInputStreamReader( newFileInputStream(“my.txt”)));

Stringdata=null;

while((data=br.readLine())!=null){

System.out.println(data);

}4.注意事项字符流中的对象融合了编码表,也就是系统默认的编码表。我们的系统一般都是GBK编码。字符流只用来处理文本数据,字节流用来处理媒体数据。用完流后记得要关闭流。使用流对象要抛出IO异常。定义文件路径时,可以用“/”或者“\\”。在读取文

温馨提示

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

评论

0/150

提交评论