︳Java程序设计 Java程序
设计 第五章
Java 常用基础类 林志毅
3710167@qq.com
2011-12-29
本章学习提示
本章我们主要
学习Java语言的常用基础类 本章我们主要学习Java语言的常用基础类 输入输出类 Java常用类 Java常用类 Math类 Math类 Vector类 Vector类 Stack类 Stack类 java异常 java异常
Page
2 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
输入输出类目录
1 2 3 4 5
Java 流概述
基本流
字节流
字符流
文件处理
Page
3 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
流的概念
大多数应用程序都需要与外部设备进行数据交换,最常见的 外部设备包含磁盘,
网络,键盘和显示器等。IO就是指应用 程序对这些设备的数据输入和输出 在Java中,我们将这些输入输出的数据都看作数据流。即一 串连续不断的数据的集合,就像水管里的水流。 这样做有什么好处?
屏蔽了数据源与数据宿的多样性 复杂性 多样性与复杂性 多样性 复杂性,给程序提供了一个统一的操 作界面和操作流程。
Page
4 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
输入输出流的基本概念
输入流:读取数据时与数据源 数据源之间建立的数据通道; 输入流 数据源 输出流:输出数据时与数据宿 数据槽 数据宿(数据槽 输出流 数据宿 数据槽)之间建立的数据通道。
注意: 注意:输入和输出是相 对于应用
程序而言的。 对于应用程序而言的。
如果我们要将文件A的内容写入文件 , 如果我们要将文件 的内容写入文件B, 的内容写入文件 那么要读取文件A的内容和写入文件 的内容和写入文件B 那么要读取文件 的内容和写入文件 我们分别需要建立什么流? 时,我们分别需要建立什么流? 分别建立输入流和输出流 输入流
输出流
Page
5 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
输入输出流的逻辑
输入流 读数据的逻辑为:
open a stream while more information read information close the stream
输出流
open a stream while more information write information close the stream
Page
6 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
流的分类
按功能划分: 输入流 输出流 按流中的数据类型划分: 字节流:以字节为传输单位 字符流:以字符为传输单位,特别用于文本数据 按建立方式和工作原理划分: 节点流:程序与输入源或输出宿之间直接建立的流 过滤流:以某一个节点流作为流的来源,并对其进行一 些加工处理的流。能有效改善输入/输出操作
Page
7 / 122
2011
Chapter05 hapter05
Java
常用基础类 Java
Java的输入输出类库 的输入输出类库
Java 提供了专用于输入输出功能的包java.io ,其中包含5个 非常重要的类,所有与输入输出有关的类都继承了这5个类
。 基本流 System.out System.in(其实也属于字节流) (System类在Java.lang包中) 字符流 Reader Writer 字节流 InputStream OutputStream 文件流 FileInputStream FileOutputStream 过滤流 FilterInputStream FilterOutputStream
Page
8 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
输入输出类目录
1 2 3 4 5
Java I/O流概述 I/O流概述
基本流
字符流
字节流
文件处理
Page
9 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
基本流
为了减少程序开发人员,因频繁应用标准的输入输出 设备,需要频繁地建立输入输出流对象的
工作量,java
系统预先定义好 个流对象 预先定义好3个流对象 预先定义好 个流对象,分别表示标准输出设备、标准输入设备和标 准错误设备。他们分别是: System.in :用于程序的输入; System.out:用于一般输出; 对应外设为键盘 对应外设为屏幕
System.err:用于显示出错信息; 对应外设为屏幕
System 类的所有属性都是静态 静态static的,调用时以类名System为前缀。 静态 public static final InputStream in public static final PrintStream out public static final PrintStream err
上述