使用 Java 执行命令行命令
尝试使用 Java 执行命令行参数时,了解不同操作的细微差别至关重要系统。本文旨在解决 Windows 用户在尝试通过 Java 执行 CMD 命令时遇到的特定问题。
问题中提供的示例演示了尝试通过命令执行“cd”和“dir”命令使用Java 线。然而,这种方法并不能产生预期的结果。为了克服这个问题,需要一种替代方法。
解决方案在于构建一个命令提示符(CMD)进程并通过输入和输出流与其交互通信。这允许在单个进程内无缝执行多个命令,如以下代码所示:
String[] command = {"cmd"}; Process p = Runtime.getRuntime().exec(command); // Thread to handle error stream new Thread(new SyncPipe(p.getErrorStream(), System.err)).start(); // Thread to handle input stream new Thread(new SyncPipe(p.getInputStream(), System.out)).start(); // PrintWriter to write to the output stream PrintWriter stdin = new PrintWriter(p.getOutputStream()); // Write the "dir" command stdin.println("dir c:\ /A /Q"); // Close the stdin stream stdin.close(); // Wait for the process to complete int returnCode = p.waitFor(); // Print the return code System.out.println("Return code = " + returnCode);
这种方法允许在 CMD 进程内执行多个命令,提供更高效、更通用的方式Java 与命令行交互的方式。
以上是如何从 Java 执行多个 CMD 命令?的详细内容。更多信息请关注PHP中文网其他相关文章!