先来个输入输出类的继承结构:
字节流:处理字节数据的流对象。设备上的数据无论是图片或者dvd,都是以二进制存储的,它是存储空间的基本计量单位。意味着字节流可以处理设备上的所有数据,所以字节流一样可以处理字符数据。
字符流:为了便于文字的解析,所以将字节流和编码表封装成对象,这个对象就是字符流。操作字符数据,优先考虑使用字符流体系。
输入流:从硬盘到内存
输出流:从内存到硬盘或其他外围设备
例如将一个文件中的内容在控制台输出应该先建立输入流,将文件中的内容读到内存中,然后建立输出流将其显示在控制台
Reader类的常用子类有:BufferedReader
InputStreamReader
附上常用的输入输出类
1.BufferedReader 类
构造方法 | BufferedReader() BufferedReader(Reader in) |
常用方法 (只是BufferedReader中的部分方法) | read():int read(char[] cbuf, int off, int len):int readLine():String |
2.InputStreamReader类
构造方法 (只是部分构造方法) |
一定要在方法体抛出IOException或者Exception异常
使用时要引入 import java.io.BufferedReader/InputStreamReader;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] arry=br.readLine().split(" ");
3.Scanner类:
使用方法: | Scanner sc=new Scanner(System.in) 使用时要引入java.util.Scanner类 |
常用方法 | Sc.hasNext() :boolean Sc.next():string Sc.nextInt:int Sc.nextLine():String |