春华秋衣
请注意,我们正在逐行将流程输出读取到StringBuilder。由于该try-with-resources语句,我们不需要手动关闭流。该ProcessBuilder班让我们提交程序名和参数,以它的构造函数的数量。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class ProcessOutputExample{ public static void main(String[] arguments) throws IOException, InterruptedException { System.out.println(getProcessOutput()); } public static String getProcessOutput() throws IOException, InterruptedException { ProcessBuilder processBuilder = new ProcessBuilder("java", "-version"); processBuilder.redirectErrorStream(true); Process process = processBuilder.start(); StringBuilder processOutput = new StringBuilder(); try (BufferedReader processOutputReader = new BufferedReader( new InputStreamReader(process.getInputStream()));) { String readLine; while ((readLine = processOutputReader.readLine()) != null) { processOutput.append(readLine + System.lineSeparator()); } process.waitFor(); } return processOutput.toString().trim(); }}印刷品:java version "1.8.0_45"Java(TM) SE Runtime Environment (build 1.8.0_45-b15)Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)