第12讲 输入输出数据流.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12讲 输入输出数据流 流的概念 流的分类 流的使用(以字节流为例) 标准输入/输出流 文件输入/输出流 过滤流 字符流的使用 本讲学习任务之一: 问题:如何编程从键盘输入数据? 任务:编写一个猜数游戏程序,程序生成一个10以内的整数,用户从键盘输入猜测的数,直到猜对为止。两个人轮流猜,每人猜3次,累计猜测次数少的胜。 流(Stream)的概念 流的概念 源 输入流的源可以是文件、标准输入(键盘)、其他外部输入设备或者其他输入流。 目的地 输出流的目的地可以是文件、标准输出(显示器)、其他外部输出设备或者其他输出流。 Java中输入输出是通过流来实现的。相关的类都在java.io包中。 流的分类 输入流/输出流 按流与程序的关系分。如前所述。 字节流/字符流 按流中处理的数据是以字节(8位)为单位还是以字符(16位)为单位分为字节流和字符流。 Java中字节流和字符流分属两个不同的体系。 节点流/过滤流 按流与原始数据载体(文件,设备)的关系分为节点流和过滤流。 流的分类(续) 节点流(Node Stream) :直接与原始数据存在的特定介质(如磁盘文件或其他外部设备、内存某区域或其他程序)打交道的流,在流的序列中离程序最远。 过滤流 (Filter Stream):使用其它的流作为输入源或输出目的地,对流中的数据提供进一步处理的流。其他的流可以是节点流,也可以是另一种过滤流。过滤流不能单独使用。 一个输入流链或输出流链中一定有且只有一个节点流;可以没有,也可以有多个过滤流。 字节流的层次结构 字符流(读写器)的类层次结构 InputStream 类的常用方法 读一个字节,并返回该字节。未读到返回-1 public int read() throws IOException 关闭流 public void close( ) throws IOException 将数据读入字节数组b, 返回所读的字节数 int read(byte[ ] b ) throws IOException 将数据读入字节数组b, 返回所读的字节数,offset和length指示byte[]中存放读入字节的位置。 int read( byte[] b, int offset, int length ) throws IOException OutputStream的常用方法 写一个字节 void write( int ) throws IOException 关闭输出流 void close( ) throws IOException 强行将缓冲区的数据写到目的地。 void flush( ) throws IOException 写一个字节数组 void write(byte[ ] b) throws IOException void write(byte[ ] b, int offset, int length ) throws IOException 标准输入输出流和错误流 System.out: 把输出送到缺省的显示(通常是显示器) System.in 从标准输入获取输入(通常是键盘) System.err 把错误信息送到缺省的显示 System是final类,in,out,err是System的静态成员变量,因此可以用System.in等形式直接使用。out的用法大家已熟知了,err的用法与out一样。 标准输入 System.in 在System中,in的完整定义是: public static final InputStream in; in的主要方法: public int read() throws IOException public int read(byte [] b) throws IOException 使用注意事项: 前者返回读入的一字节的数据,但返回的是int整型值,取值范围是0-255。 后者返回读入的字节数,读入的各字节保存在作为参数的字节型数组对象中。 执行read时,程序会等待用户的输入。输入完成后再接着执行后面的语句。 流的使用过程 输入/输出流的使用过程: 实例化一个输入/输出流对象 使用该输入/输出流对象的方法读入/写出数据 关闭该输入/输出流对象 注意事项 输入/输出流的方法会抛出异常,因此必须进行异常处理。 标准输入/输出/错误流对象System.in, System.out、 System.err始终存在,不需要实例化,也不需要关闭。 例:使用System.in实现键盘数据输入 import java.io.*; public class TestInput { public static void main(String [] args) { tr

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档