Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 Groovy 编写一个包装器脚本(但问题实际上是一个 Java 问题),并且想知道是否可以在不让它先运行的情况下创建一个进程。问题是进程开始运行并在 stdout 和 stderr 上生成输出。我想将它们转发到适当的目的地,同时创建一个合并流以在脚本中进行处理。然而,我遇到的问题是 Process 生成输出太快,前两行的输出有点乱码。我想在进程开始运行之前设置流。有什么办法吗?
这会将输出和错误流消耗到两个单独的 StringWriter 中,但我没有看到任何“乱码”
new StringWriter().with { out -> new StringWriter().with { err -> 'ls /tmp'.execute().with { proc -> consumeProcessOutput( out, err ) waitFor() } println "OUT: $out" println "ERR: $err" } }