Java ProcessBuilder redirectInput with cat

Java ProcessBuilder redirectInput with cat

我正在编写一个 Java 应用程序,需要使用 ProcessBuilder 执行 unix cat 命令。我知道我可以使用 ProcessBuilder 对象的参数来指定供 cat 使用的文件。但是,为了标准化接口,我将如何使用 redirectInput() 而不是传递输入文件?

我假设这会起作用,因为我可以在命令行中执行 cat < foo.txt,这相当于 ProcessBuilder 中的 redirectInput()(对吗?)

非常感谢帮助:)

为什么不试试呢?

我写了一个简单的测试代码:

new ProcessBuilder("cat")
    .redirectInput(new File("/tmp/test", "i.txt"))
    .redirectOutput(new File("/tmp/test", "o.txt"))
    .start()
    .waitFor();

它成功地将一些文本从 i.txt 复制到 o.txt