【问题标题】:cat Unix command directly from java, should not call shell Scriptcat Unix命令直接来自java,不应该调用shell脚本
【发布时间】:2011-08-16 20:25:15
【问题描述】:

我有一个问题。 是否可以直接从 java {not as a shell script} 运行 unix 命令?我看到ls命令是直接执行输出查看得到bufferedReader的对象。其实我想要 ** cat fil*.csv >> filAppended.csv ** 直接从 java 运行这个命令。

【问题讨论】:

    标签: java unix runtime.exec


    【解决方案1】:

    命令的 >> 部分不是 cat 的参数,而是由 shell 处理以执行输出重定向。

    您可以从 Runtime.getRuntime().exec() 返回的 Process 对象访问输出流,然后可以从中读取并将其附加到“filAppended.csv”。

    【讨论】:

    • 你的意思是我必须跑第一。 cat fil*.csv 之后必须通过进程缓冲读取器附加 filAppended.csv 对吗?
    • 基本上,是的。但是如果你的命令真的是 cat,那么运行一个命令就毫无意义。只读取一个文件并写入另一个文件更合理——不需要 exec()。
    • 对不起,我不明白你说“不需要 exec()。”
    • fil*.csv 也是 schell 的一部分。如果您不想运行 shell,您也必须在 java 中执行此操作。
    猜你喜欢
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    相关资源
    最近更新 更多