我正在尝试在Java中将控制台设置为“原始”模式。我了解到这只适用于UNIX系统。 我正在使用命令stty raw 如果我直接在终端中输入该命令,它会按预期执行。在Java中,我尝试像这样设置模式: Runtime.getRuntime().exec("stty raw"); 但终端并没有进入原始模式。 我有一种感觉,这是因为Java只是在后台执行命令,而不是在活动终端中执行。有办法解决这个问题吗?
JVM重定向了标准输入/标准输出/标准错误输出,您可以尝试以下内容: String[] cmd = {"/bin/sh", "-c", "stty raw </dev/tty"}; Runtime.getRuntime().exec(cmd); 请注意,stty(通常)操作的是标准输入而不是标准输出。
</dev/tty
重定向操作? :/ - insan-e