3个流对象均为静态属性。 上述 个流对象均为静态属性。 个流对象均为静态属性
Page
10 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
基本流
标准输入System.in
System.in作为字节输入类InputStream的对象,实现标准的输入 public int read() throws IOException:返回读入的一个字节,如果到达流的末 尾,则返回-1. Public int read(byte[] i) throws IOException:返回读入缓冲区的总字节数,如 果因为已经到达流末尾而不再有数据可用,则返回-1. 使用read方法发生IO错误时,抛出IOException异常。
标准输出System.out
System.out作为打印流类PrintStream的对象,实现标准输出。 public void print(参数) public void println(参数)
标准错误输出System.err
以PrintStream类的对象err实现标准的错误输出。
Page
11 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
基本I/O之例 基本 之例
//从键盘输入字符,然后在屏幕上显示输入结果 import java.io.*; public class standardIO{ public static void main(String[] args) throws IOException { //IO操作必须捕获IO异常 char c; System.out.println("输入任一字符 "); c=(char)System.in.read(); System.out.println("输入的字符是 :"+c); } } 【例2】从键盘输入字符 注意:使用read方法的时候,必须要抛出IOException或者使用try catch处理异常。
2011
Page
12 / 122
Chapter05 hapter05
Java常用基础类 Java
基本IO之例 基本 之例
//基本 standardIO2.java,从命令行读入字符串,并处理和显示 基本IO 基本 ,从命令行读入字符串,
import java.io.*; public class standardIO{ public static void main(String[] args) throws IOException { //IO操作必须捕获IO异常
//先使用System.in构造InputStreamReader,再构造BufferedReader。 InputStreamReader iin = new InputStreamReader(System.in); BufferedReader stdin=new BufferedReader(iin); //读取并输出字符串。 System.out.print("Enter a string: "); System.out.println(stdin.readLine()); //读取字符串并转换成double类型数据输出 System.out.print("Enter a double: "); //将字符串解析为带符号的double类型数据。 double number2=Double.parseDouble(stdin.readLine()); System.out.println(number2); } } Page 13 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
输入输出类目录
1 2 3 4 5
Java I/O流概述 I/O流概述
基本流
字节流
字符流
文件处理
Page
14 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
字节流
输入流类InputStream和输出流OutputStream是两个最基本 的输入输出抽象类,用于处理字节流。(书P77,在Java.io包 中) 字节输入流InputStream 字节输出流OutputStream
Page
15 / 122
2011
Chapter05 hapter05
Java常用基础类 Java
字节流I/O类层次关系图 字节流 类层次关系图
ByteArrayInputStream BufferedInputStream FileInputStream PushbackInputStream FilterInputStream LineNumberInputStream InputStream PipedInputStream DataInputStream SequenceInputStream
StringBufferInputStream
ObjectInputStream
ObjectInput
DataInput java.lang.Object RandomAccessFile DataOutpu t ObjectOutputStream ObjectOutput
ByteArrayOutputStream
OutputStream
FileOutputStream
BufferedOutputStream
FilterOutputStream
PrintStream
PipedOutputStream
DataOutputStream
2011
Page
16 / 122
Chapter05 hapter05
Java常用基础类 Java
InputStream类 类
InputStream类 一个抽象(abstract)类,类中包含了一套所有输入流都需 类 一个抽象 要的方法,可以完成最基本的从输入流读取数据的功能。 它是表示字节输入流的所有类的超类。 它是表示字节输入流的所有类的超类。 字节输入流的所有类的超类 ? public abstract class InputStream extends Object 当java程序需要从外设中读入数据时,先创建一个适当类 型的输入流类对象来完成与外设的连接,然后再调用执 行该新建对象的特定方法,实现对相应外设的操作。
Pa