小编Bar*_*rak的帖子

如何将进程输出管道传输到Windows和JDK 6u45上的文件

我有以下Windows批处理文件(run.bat):

@echo off
echo hello batch file to sysout
Run Code Online (Sandbox Code Playgroud)

以下java代码,它运行批处理文件并将输出重定向到文件:

public static void main(String[] args) throws IOException {
    System.out.println("Current java version is: " + System.getProperty("java.version"));

    ProcessBuilder pb =
            new ProcessBuilder("cmd.exe", "/c",
                    "run.bat"
                     ,">>", "stdout.txt","2>>", "stderr.txt"
                    );
    System.out.println("Command is: " + pb.command());

    Process proc = pb.start();

    InputStream in = proc.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));

    String line = null;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }

    int exitValue = proc.exitValue();
    System.out.println("Exit value: " + exitValue);
}
Run Code Online (Sandbox Code Playgroud)

在JDK上,包括JDK6u43,我得到以下输出:

Current …
Run Code Online (Sandbox Code Playgroud)

java jdk1.6 processbuilder

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×1

jdk1.6 ×1

processbuilder ×1