资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
包、异常与输入输出4,本单元教学内容,输入输出流的概念 字节节点流 字符节点流,流的概念,大多数应用程序都需要与外部设备进行数据交换,最常见的外部设备包含磁盘,网络,键盘和显示器等。IO就是指应用程序对这些设备的数据输入和输出 在Java中,我们将这些输入输出的数据都看作数据流。即一串连续不断的数据的集合,就像水管里的水流。 这样做有什么好处? 屏蔽了数据源与数据宿的多样性与复杂性,给程序提供了一个统一的操作界面和操作流程。,输入输出流的基本概念,输入流:读取数据时与数据源之间建立的数据通道; 输出流:输出数据时与数据宿(数据槽)之间建立的数据通道。,输出流,输入流,注意:输入和输出是相对于应用程序而言的。,如果我们要将文件A的内容写入文件B,那么要读取文件A的内容和写入文件B时,我们分别需要建立什么流?,流的分类,按功能划分: 输入流 输出流 按流中的数据类型划分: 字节流:以字节为传输单位 字符流:以字符为传输单位,特别用于文本数据 按建立方式和工作原理划分: 节点流:程序与输入源或输出宿之间直接建立的流 过滤流:以某一个节点流作为流的来源,并对其进行一些加工处理的流。能有效改善输入/输出操作,基本流类,字节流 输入字节流:InputStream 输出字节流:OutputStream 字符流 输入字符流:Reader 输出字符流:Writer 以上四个基本流类都是抽象类,只是为具体其子类规定要实现的方法。 由其具体子类负责创建与各种数据源或数据宿的数据流。,InputStream相关方法,3个读取数据的方法 int read() /将所读字节以整数类型返回,当没有字节时返回1 int read(byte buffer) /返回的所读字节数,无时返回1 int read(byte buffer,int offset,int length) 其它方法 void close(),OutputStream相关的方法,3个写数据的方法 void write(int c) void write(byte buffer) void write(byte buffer int offset,int length) 其它方法 void close() void flush(),举例,使用字节流进行文件的拷贝例5_17 1。分析 要实现文件拷贝,必须有两个文件,一个为源文件,另一个为目标文件 要从源文件中读取数据,我们需要创建一个输入流 要向目标文件写入数据,我们需要创建一个输出流 2。字节文件流:用来构建与文件间的字节流 文件输入流:FileInputStream 文件输出流:FileOutputStream 如:FileOutputStream file=new FileOutputStream(“myFile.txt”);,小结,使用流进行输入/输出操作的基本步骤: 导入相应的流类 ,如import java.io.*; 创建相应的流对象 使用流对象进行数据的输入/输出操作处理 关闭流对象 FileInputStream是InputStream类的子类,是一种字节输入流,注意他的命名方式 FileOutputStream是OutputStream类的子类,是一种字节输出流,注意他的命名方式,字符节点流,Java中的字符是Unicode编码,是双字节,而InputStream和OutputStream是用来处理单字节的,在处理字符文本时不太方便,Java就为字符文本的输入输出专门提供了一套单独的类。 Reader、Writer与InputStream、OutputStream相对应,也是两个抽象类,Reader的相关方法,3个读数据方法 int read() int read(char cbuf) int read(char cbuf,int offset,int length) 其它方法 void close(),Writer的相关常用方法,5个读方法 void write(int c) void write(char cbuf) void write(char cbuf,int offset,int length) void write(String string) void write(String string,int offset,int length) 其它方法 void close(),举例,使用字符流实现文本文件内容显示例5_18 1。分析 程序要求将文本文件的内容显示到屏幕上 要从文本文件中读取数据,我们需要创建一个字符文件输入流 要向屏幕输出数据,我们需要有一个输出流(System.out) 2。字符文件流:用来构建与文件间的字符流 文件输入流:FileReader 文件输出流:FileWriter 如:FileReader file=new FileReader(“myFile.txt”);,小结,操作的基本步骤: 导入相应的流类 ,如import java.io.*; 创建相应的流对象 使用流对象进行数据的输入/输出操作处理 关闭流对象 FileReader是Reader类的子类,是一种字符输入流,注意他的命名方式 FileWriter是Writer类的子类,是一种字符输出流,注意他的命名方式,作业,作业:习题11,12,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号