Tag: 控制台

如何在Java中清除控制台?

很长一段时间以来,我一直在为我拉头发。 我已经研究了如何在Java中清除控制台一小时。 我发现的只是通过打印一堆行或执行它来进行肮脏的黑客攻击 Runtime.getruntime.exec(“cls/clear”); 但是,似乎没有什么对我有用。 难道没有像C中那样用Java清除控制台的方法( clrscr(); )。 是不是有任何外部库可以实现这一点。 如果有人在使用适当的function,库等而不是肮脏的黑客攻击之前,请告诉我。

Java使用扫描仪输入密钥按下

我正在使用Java编程。 我正在尝试编写代码,该代码可以识别用户是否在基于控制台的程序中按下回车键。 我怎么能用java做到这一点。 有人告诉我,这可以使用Scanner或缓冲输入阅读器完成。 我不理解(或知道如何使用)缓冲输入阅读器。 我尝试使用扫描仪执行此操作,但在按两次输入后程序终止,但它不起作用 Scanner readinput = new Scanner(System.in); String enterkey = “Hola”; System.out.print(enterkey); enterkey = readinput.nextLine(); System.out.print(enterkey); if(enterkey == “”){ System.out.println(“It works!”); 谢谢 – 编辑 – 以下代码使用字符串的equals方法而不是== Scanner readinput = new Scanner(System.in); String enterkey = “Hola”; System.out.print(enterkey); enterkey = readinput.nextLine(); System.out.print(enterkey); if(enterkey.equals(“”)){ System.out.println(“It works!”); 如何做到这一点,以及使用缓冲输入阅读器做到这一点的优点是什么?

在Java中,可以在关闭后重新打开System.in

我有一个multithreading控制台应用程序,可以从两个不同的来源获取输入。 一个是用户输入控制台,另一个是网络。 我使用BufferedReader.readline()来获取用户和块的输入,这很好,除非我在等待时收到网络输入。 在这种情况下,我需要通过取消readline()来取消阻止用户线程。 我认为取消的最好方法是关闭System.in并使readline()抛出exception。 在那之后,虽然我需要重新打开它。 那可能吗?

如何在控制台中返回到行的开头?

如何返回到行的开头并覆盖控制台上已输出的内容? 以下似乎不起作用: System.out.print(mystuff+’\r’);

Java:如何检测(和更改?)System.console的编码?

我有一个程序在控制台上运行,它的变音符号和其他特殊字符在Mac上输出。 这是一个简单的测试程序: public static void main( String[] args ) { System.out.println(“höhößüä”); System.console().printf( “höhößüä” ); } 在默认的Mac控制台(使用默认的UTF-8编码)上,打印: h?h???? h?h???? 但手动将Mac终端的编码设置为“Mac OS Roman”后,它正确打印 höhößüä höhößüä 请注意,在使用System.console()的Windows系统上工作: h÷h÷▀³õ höhößüä 所以我如何制作我的节目…… rolleyes ……“到处跑”?