Java程序设计基础第14章 实现流.pptVIP

  • 1
  • 0
  • 约7.5千字
  • 约 32页
  • 2019-07-17 发布于辽宁
  • 举报
Java程序设计基础-国家级十二五规划教材-大连理工大学出版社 Java程序设计基础-国家级十二五规划教材-大连理工大学出版社 第14章 实现流 复习提问 1、什么是监听器?有什么作用? 2、什么是适配器?有什么作用? 3、监听器和适配器有什么不同? 4、图形界面中常用组件有哪些? 本章提要 主要知识点: 流的分类; 主要流类的功能与用法; 文件流的处理 学习目标:熟悉流的基本功能,掌握主要流类的用法,能够运用流进行输入输出操作和文件的处理。 14.1 识别流的类型 JAVA程序的输入输出功能通过流Stream实现的。流是指一组有顺序的、有起点和终点的字节结合,如文件、网络。java.io系统包提供了一套完整的流类,能够进行基本的IO操作和复杂的文件处理以及网络功能。 Java中的流按照处理数据的单位可以分为两种:字节流和字符流,分别用4个抽象类来表示:InputStream、OutputStream、Reader、Writer,其中InputStream和 Reader用于读操作,OutputStream 和Writer用于写操作,Java中的许多其它流类都是它们的子类。 如果需要进行流操作,应在程序首部加上语句:import java.io.*; 14.1 识别流的类型 按照对流中数据的处理方式,流又可以分为文本流和二进制流,文本流是一个字符序列,能够按照需要进行某些字符的转换,被读写的字符和外部设备之间不存在一一对应的关系,被读写的字符个数与外部设备中的字符个数不一定相等,如标准输出流System.out就是文本流,不同类型的数据经过转换后输出到标准输出设备(显示器)。而二进制流则在读写过程中不要转换,外部设备中的字节或字符与被读写的字节或字符完全对应。 14.1 识别流的类型 文件不仅表示磁盘文件,也包括设备,如键盘、显示器、打印机,对它们的操作也是通过流完成的,通过建立流与特定文件的联系,可以从文件中读出字节,保存到数组或者使用输出流写入文件,外部设备中的字节或字符与被读写的字节或字符完全对应。 14.1 识别流的类型 14.1.1 InputStream类 InputStream是基本的输入流类,是一个抽象类,它定义了输入流类共同的特性,该类中的所有方法在遇到错误时都会引发IOExcetion异常,所以一般在定义方法时都会在后面加上throws IOExcetion子句。 InputStream类是一个抽象类,不能直接实例化,程序中使用的是它的子类对象,但有些子类不支持其中的一些方法,如skip,mark,reset。常用方法有: 14.1 识别流的类型 int read() //返回下一个输入字节的整形表示,-1表示遇到流的末尾(结束) int read(byte[] b) //读入b.length个字节到数组b并返回实际读入的字节数 int read(byte[] b,int off,int len) //读入流中的数据到数组b,保存在off开始的长度为len的数组元素中 long skip(long n) //跳过输入流上的n个字节并返回实际跳过的字节数 int avaiable() //返回当前输入流中可读的字节数 void mark(int readlimit) //在输入流的当前放置一个标志,表示允许最多读入readlimit个字节 void reset() //把输入指针返回以前所做的标志处(复位) boolean markSupported() 是否支持mark/reset操作 void close() //关闭流操作,释放相应资源 14.1 识别流的类型 14.1.2 OutputStream类 OutputStream是基本的输出流类,与InputStream对应,它定义了输出流类共同的特性,定义和使用与InputStream类似,但它的所有方法都是void返回类型。常用方法: void writed(int b) //将一个字节写入流,也可以使用表达式 void writed(byte[] b) //将一个字节数组写入输出流 void writed(byte[] b,int off,int len) //将字节数组的从off开始的len个字节写入输出流 void flush() //彻底完成输出并清空缓冲区 void close() //关闭输出流,释放资源 java.util.Scanner类 Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。 例如,以下代码使用户能够从 System.in 中读取一个数: Scanner sc = new Scanner(

文档评论(0)

1亿VIP精品文档

相关文档