我想使用 java.lang.Runtime 类来执行 KornShell (ksh) 命令。Java 打印任何特定命令的标准输出和标准错误的最佳方式是什么?
所以,如果我声明
Process command = Runtime.getRuntime.exec("ls -l");
我将如何进行?
我想使用 java.lang.Runtime 类来执行 KornShell (ksh) 命令。Java 打印任何特定命令的标准输出和标准错误的最佳方式是什么?
所以,如果我声明
Process command = Runtime.getRuntime.exec("ls -l");
我将如何进行?
java.lang.Process 允许您检索输入流(您的进程的输出通过管道输入)。从那里您可以使用标准 IO 技术来处理它。以下示例将通过 shell 命令将所有输出打印到 System.out 中,直到遇到 EOF。
Process process = runtime.exec("ls -l");
InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
for(String line = bufferedReader.readLine(); line != null; line = bufferedReader.readLine()) {
System.out.println("Process output: " + line);
}
请对java并发有一些基本的了解。如果您正在运行的命令未终止,则上述循环将继续运行