面向对象与Java程序设计(流和文件、Applet、网络编程)ppt171.ppt

面向对象与Java程序设计(流和文件、Applet、网络编程)ppt171.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象与Java程序设计(流和文件、Applet、网络编程)ppt171

第7章 流和文件 本章学习要点 掌握流的本质及其基本概念 深入了解java.io包中的类的层次结构 深入了解java.io包中的类的基本类型 熟练编写处理字节级、字符级及对象级流的Java程序 熟练掌握随机访问流的使用 熟练掌握与文件系统有关的类的使用方法 7.1 I/O流概述 大部分程序都需要数据输入/输出处理,比如从键盘读取数据、向屏幕中输出数据、从文件中读或者向文件中写数据、在网络连接时进行读写操作等。 在Java中,把这些不同类型的输入、输出源抽象为流(Stream)。 流是在输入输出之间流动的数据序列。 流一般分为输入流(Input Stream)和输出流(Output Stream)两类。流和物理文件是有区别的,流是一个动态的概念。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个输入流,而屏幕则只是一个输出流。 7.1 I/O流概述 从程序到数据接收器的数据流是输出流,用来向接收器中写入数据。 同数据源相连的是输入流,用来从数据源中读取数据。 7.1.1 从类的层次看I/O流 在Java开发环境中,主要是由包java.io中提供的一系列的类和统一的接口来实现数据输入/输出处理。无论是使用磁盘文件、内存缓冲区,还是网络都可以以同样的方式处理输入输出。从而使Java程序设计简单明了。 标准输入/输出处理则是由包java.lang中提供的类来处理的,但这些类又都是从包java.io中的类继承而来。 在JDK1.1之前,java.io包中的流只有普通的字节流(以byte为基本处理单位的流),这种流对于以16位的Unicode码表示的字符流处理很不方便。 从JDK1.1开始, java.io包中加入了专门用于字符流处理的类(以Reader和Writer为基础派生的一系列类)。 InputStream和OutputStream Reader和Writer 7.1.1 从类的层次看I/O流 1. 标准的I/O流 在Java语言中,键盘用stdin表示,监视器用stdout表示。它们均被封装在System类的类变量in和out中,对应于系统调用System.in和System.out。每当main方法被执行时,就自动生成下述三个类的对象实例。 System.in,从InputStream中继承而来,用于从标准输入设备中获取输入数据(通常是键盘)。 System.out,从PrintStream中继承而来,把输出送到缺省的显示设备(通常是显示器)。 System.err,也是从PrintStream中继承而来,把错误信息送到缺省的显示设备(通常是显示器)。 7.1.1 从类的层次看I/O流 2. 基本的I/O流 Java中基本字节流有InputStream和OutputStream,它们是抽象类,不能直接使用。但很多种流的基本功能依赖于它们。 (1) 属于InputStream类的方法有: int read( ): 从流中读入数据 long skip( ): 跳过流中若干字节数 int available( ): 返回流中可用字节数 void mark( ): 在流中标记一个位置 void reset( ): 返回放标记的位置 boolean markSupport( ): 是否支持标记和复位操作 void close( ): 关闭流 2. 基本的I/O流 在InputStream类中,提供了三种从流中读数据的read()方法: abstract int read():从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。 int read(byte b[]):读多个字节到数组中,填满整个数组。 int read(byte b[], int off, int len):从输入流中读取长度为len的数据,写入数组b中从索引off开始的位置,并返回读取得字节数。 对于这三个方法,若返回 -1,表明流结束。 【例7.1】 巧妙实现从ASCII码字符集到Unicode字符集之间的转换。 2. 基本的I/O流 2. 基本的I/O流 (2)属于OutputStream类的方法有: abstract void write(int b):将一个整数输出到流中(只输出低位字节,为抽象方法) void write(byte b[ ]):将字节数组中的数据输出到流中 void write(byte b[ ], int off, int len):将数组b中从off指定的位置开始,长度为len的数据输出到流中 void flush( ):清空输出流,并将缓冲区中的数据强制送出 void close( ):关闭流 2. 基本的I/O流 (3)管道流 管

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档