Bir*_*man 9 java cmd runtime.exec processbuilder
我试图通过使用以下代码在Windows中启动CMD应用程序,但它不能按预期工作.来自不同网站的几个示例显示,作为ProcessBuilder构造中的参数的"cmd"应该有效.
我需要做些什么才能让我的Java应用程序在Windows中打开CMD应用程序?
public class JavaTest
{
public static void main(String[] args)
{
ProcessBuilder pb = new ProcessBuilder("cmd");
try
{
pb.start();
System.out.println("cmd started");
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用不存在的应用程序时,它实际上会输出错误,这意味着它实际上运行"CMD".但CMD应用程序没有按预期弹出?
Gui*_*rme 14
要与ProcessBuilder一起使用,您必须将命令分开,如下所示:
final List<String> commands = new ArrayList<String>();
commands.add("cmd.exe");
commands.add("/C");
commands.add("start");
ProcessBuilder pb = new ProcessBuilder(commands);
pb.start();
Run Code Online (Sandbox Code Playgroud)
您需要使用start命令.实际上,即使我没有看到一个新的命令提示符弹出,但你可以检查一个新cmd.exe的肯定是开始使用你的task manager.
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "start");
Run Code Online (Sandbox Code Playgroud)
虽然,使用可以实现相同的功能Runtime.exec(),但这实际上会弹出一个新的命令提示符.
Runtime.getRuntime().exec("cmd.exe /C start");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27997 次 |
| 最近记录: |