首页 > 代码库 > java 标准输出流、标准错误输出流、标准输入流及扫描仪

java 标准输出流、标准错误输出流、标准输入流及扫描仪

package com.mydemo.controller;

import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {
        System.err.println("HelloWorld");
        System.out.println("HelloWorld");
        
        System.out.println(System.in);
        System.out.println(System.out);
        System.out.println(System.err);
        
        Scanner scanner = new Scanner(System.in);
        String nextLine = scanner.nextLine();
    }
}

运行结果:

HelloWorld
HelloWorld
java.io.BufferedInputStream@2a139a55
java.io.PrintStream@15db9742
java.io.PrintStream@6d06d69c

 扫描仪的阻塞方法:

 1 package com.mydemo.controller;
 2 
 3 import java.util.Scanner;
 4 
 5 public class HelloWorld {
 6     public static void main(String[] args) {
 7         @SuppressWarnings("resource")
 8         Scanner scanner = new Scanner(System.in);//这一行打断点
 9         String nextLine = scanner.nextLine();    //这一行打断点
10         System.out.println(nextLine);        //这一行打断点
11     }
12 }

debug 运行:

技术分享

直到第9行,按F6 就不往下走了,控制台输入内容才会往下走。

所以scanner对象的nextLine()是一个阻塞方法。

 

java 标准输出流、标准错误输出流、标准输入流及扫描仪