使用 Java 时如何保持命令提示符打开?

Sam*_*uer 3 java command-line ping

这是我的代码:

import java.io.*;

public class PingTest
{
    public static void main (String [] args) throws IOException, InterruptedException
    {
        Runtime.getRuntime().exec(new String[]
           {"cmd","/k","start","cmd","/c","ping localhost"});
    }
}
Run Code Online (Sandbox Code Playgroud)

它像我想要的那样 ping 本地主机,但它不会保持打开状态。完成后立即关闭。我该怎么做才能解决这个问题?

tru*_*ity 5

因为你基本上是在执行

cmd /k start cmd /c ping localhost
Run Code Online (Sandbox Code Playgroud)

它完全按照它应该的方式运行,运行start哪些运行cmdping由于/c标志而在完成后终止。

如果您希望带有 ping 结果的窗口保持打开状态,您需要执行以下操作

cmd /k start cmd /k ping localhost
Run Code Online (Sandbox Code Playgroud)

或者

cmd /c start cmd /k ping localhost
Run Code Online (Sandbox Code Playgroud)

(第一个标志cmd是什么并不重要,因为它不会打开一个新窗口。)