一尘不染

如何将Process Builder的输出重定向到字符串?

java

我正在使用以下代码启动流程构建器。我想知道如何将其输出重定向到字符串。

ProcessBuilder pb = new ProcessBuilder(System.getProperty("user.dir")+"/src/generate_list.sh", filename);
Process p = pb.start();

我尝试使用,ByteArrayOutputStream但似乎没有用。


阅读 378

收藏
2020-09-08

共1个答案

一尘不染

从阅读InputStream。您可以将输出附加到StringBuilder

BufferedReader reader = 
                new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder builder = new StringBuilder();
String line = null;
while ( (line = reader.readLine()) != null) {
   builder.append(line);
   builder.append(System.getProperty("line.separator"));
}
String result = builder.toString();
2020-09-08