【发布时间】:2020-05-24 20:29:54
【问题描述】:
import java.util.Scanner;
import java.util.regex.Pattern;
public class dsr {
final static String ESC = "\u001b";
final static String ANSI_PREFIX = ESC + "[";
final static String ANSI_DSR = ANSI_PREFIX + "6n";
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("1234567" + ANSI_DSR);
System.out.println("@" + scan.next(Pattern.compile(".*")));
}
}
此代码尝试使用扫描仪从终端读取返回,但返回未被捕获并直接显示。扫描仪等待键盘输入。如何取回返回值^[[5;8R
【问题讨论】:
-
尝试做同样的事情——您可以使用
System.console().readPassword()不回声地阅读,但该方法等待换行符。如果您按下输入控制序列^[[5;8R将被读取。还没弄清楚如何在标准输入上强制换行...