【问题标题】:Java ProcessBuilder redirectInput with catJava ProcessBuilder redirectInput 与 cat
【发布时间】:2018-02-01 05:59:39
【问题描述】:

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

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

非常感谢您的帮助:)

【问题讨论】:

    标签: java processbuilder cat


    【解决方案1】:

    为什么不试试呢?

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

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

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

    【讨论】: