我对Linux / Bash不太熟悉,因此我找不到真正要搜索的术语.
摘录:
public class Main {
public static void main(String[] args) {
java.util.Scanner keyboard = new java.util.Scanner(system.in);
while(true) {
System.out.print("$");
String in = keyboard.nextLine();
if(in.equals("q")) break;
System.out.println(" "+in);
}
}
}
如果我使用Bash在Linux机器上运行它,则不能使用任何箭头按钮(我只对左右按钮感兴趣,btw).例如,如果我键入“ test”,然后尝试通过按向左按钮返回,则^ [[D出现,而不是我的光标返回一个位置:
$test^[[D
我也尝试过较新的Console类,但最终结果是相同的.在Windows的cmd.exe shell上,我没有这个问题.
因此,问题是:有没有一种方法可以更改Java代码,以便我可以使用箭头键而无需Bash以类似^ [[D的顺序转换它们,但实际上是移动光标?
我希望我可以在“编程级别”上解决此问题.如果这不可能,那么我想我最好在Superuser上试试运气,看看是否需要在Bash控制台上进行更改.
提前致谢.
解决方法:
Bash是外壳,而不是终端;从您的程序正在与终端通信.为了提供该功能,bash和许多其他程序都使用readline-它似乎有一个Java wrapper,但我从未使用过.我敢肯定,会有其他人给出更明确的答案.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。