1. 标准IO操作
标准的 IO:
- 标准的输入: 通过键盘录入数据给程序.
- 标准的输出: 在屏幕上显示程序数据.
在
System
类中存在两个常量:InputStream in = System.in;
- 标准输入流PrintStream out = System.out;
- 标准输出流
System
类中还存在第三个常量, 是标准错误输出流err
, 打印的文字是红色的, 主要用于打印异常使用, 但打印顺序并不确定.
1.1. 标准流的重定向操作
System
类中存在两个方法可以对标准流进行重定向static void setIn(InputStream in)
- 对输入流进行重定向static void setOut(PrintStream out)
- 对输出流进行重定向- 这两个方法需要在调用标准输入输出流之前进行调用, 进行重定向指定.
标准输入的重定向:
- 对于标准输入来说, 它的数据来源是用户键盘键入的数据.
- 可以通过
setIn(InputStream in)
方法来指定输入的源,
将输入的源指定成文件或其它来源, 从而进行下一步操作.
标准输出的重定向:
- 对于标准输出来说, 它的输出目标是在屏幕上面显示输出结果.
- 可以通过
setOut(PrintStream out)
方法来指定输出目标,
将输出的内容输出到文件或其它目标上.
1.2. 操作实例
public static void main(String[] args) throws IOException {
InputStream in = System.in;
byte[] b = new byte[50];
System.out.println("Tap in some words");
int num = in.read(b);
String s = new String(b,0, num);
System.out.println("Echo:" + s);
in.close();
}
}
2. 扫描器类
Scanner
类:- 扫描器类, 用于输入操作
- 可以使用正则表达式来解析基本类型和字符串
2.1. 常用构造方法
Scanner(File source)
- 从指定文件中进行扫描(可指定编码)Scanner(InputStream source)
- 从指定输入流中进行扫描(可指定编码)
2.2. 常用的方法
获取八大基本数据类型数据的方法, 下面
XXX
指代数据类型boolean hasNextXXX()
- 判断下一个数据是否为XXX
类型XXX nextXXX()
- 获取下一个XXX
类型的数据
直接一行一行数据获取的方法
boolean hasNextLine()
- 判断是否有下一行数据String nextLine()
- 获取下一行的数据
2.2.1. 操作实例
public static void main(String[] args) throws IOException {
System.out.println("Tap in some words");
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
System.out.println("Echo:" + s);
sc.close();
}