我正在尝试将控制台置于 Java 中的“原始”模式。我知道这只适用于 UNIX。
我正在使用命令 stty raw
如果我直接在终端中输入命令,它就会执行它应该执行的操作。在 Java 中,我尝试这样设置模式:
Runtime.getRuntime().exec("stty raw");
但终端不会进入原始模式。
我有一种感觉,这是因为 Java 只是在后台或其他虚拟终端中执行命令,而不是在 Activity 终端中执行命令。有办法做到这一点吗?
最佳答案
由于 JVM 重定向 stdio/stdout/stderr,您可以尝试这样的操作:
String[] cmd = {"/bin/sh", "-c", "stty raw </dev/tty"};
Runtime.getRuntime().exec(cmd);
请注意,stty(通常)在 stdin 而不是 stdout 上运行。
关于java - 在同一个终端执行 'stty raw' 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4531791/