标准输入流
-
概述
System类中的:
public static final InputStream in:标准输入流,通常该流对应于键盘输入或有主机环境或用户指定的另一个输入源。(可以简单理解为打开了一个输入流,该流接通键盘输入的数据) -
一次读一个字节数据
public class Demo { public static void main(String[] args) throws IOException { InputStream is = System.in; int b; while ((b=is.read())!=-1){ //输入 a 和 中 System.out.print((char)b); } is.close(); } } ---*--- 输出结果: a a 中 ä¸
首先,键盘录入的数据会根据系统码表存入对应的字节数据。其次从结果可以看出,输入 ‘a’ 存入 97 再转换char类型输出 ‘a’,但是当输入 '中’时存入的是3个字节的数据 再转换char类型输出 ä¸ 。
-
一次读一行字符串数据
public class Demo { public static void main(String[] args) throws IOException { //创建字符流装备,并让字符流穿上 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //一次读取一行输入的字符串 String len; while ((len=br.readLine())!=null){ //读数据时会等待系统录入 System.out.println(len); } } } ---*--- 输出结果: a a 中 中
上面的方法就已经实现了键盘录入数据。但是为了代码简介和方便录入其他数据类型,JDK提供了Scanner类来让我们使用数据录入。
Scanner帮助文档
标准输出流
-
概述
System类中的:
public static final PinrtStream out:标准输出流,通常该流对应于显示输出或有主机环境或用户指定的另一个输出目标(可以简单理解为打开了一个输出流,该流接通显示控制台)public class HelloWorld { public static void main(String[] args) throws IOException { PrintStream ps = System.out; ps.println(10); //System.out.println(10); ps.print(20); //System.out.print(20); } } ---*--- 输出结果: 10 20