【发布时间】:2014-03-09 20:20:55
【问题描述】:
我是 Java 新手,正在学习它。我想从 java 类运行一个命令行程序。
这是我要运行的命令:(仅限 linux)
path/to/folder/$ echo "Inhibition of NF-kappaB activation reversed the anti-apoptotic effect of isochamaejasmin." | ./geniatagger
这将为我提供我想要存储在 java 对象中的输出。
字符串输出:
抑制 抑制 NN B-NP O 的 IN B-PP O NF-kappaB NF-kappaB NN B-NP B-蛋白 激活 激活 NN I-NP O 反向 反向 VBD B-VP O DT B-NP O 抗凋亡 抗凋亡 JJ I-NP O 效果 效果 NN I-NP O 的 IN B-PP O isochamaejasmin isochamaejasmin NN B-NP O . . .哦哦
请指导我如何实现这一目标?
【问题讨论】:
-
@juan.facorro 提出的解决方案不是最理想的。对于 OP:这是什么“我想存储在 java 对象中的一些输出”?字符串输出?二进制输出?
-
您真的需要
echo还是可以直接在Java 中完成管道输出? -
我现在看到你的问题的方式与我发布答案时不同。 ./geniatagger 应该是你的程序吗?你会写吗?在 Java 中?
-
@StijndeWitt 是的 geniatagger 是 (unix) 命令行工具,它对文本进行命名实体识别并产生输出..
-
它是现有的 unix 工具还是您正在编写?如果您使用 Java 编写它,那么调用看起来会有些不同,因为您不会像那样直接执行 Java 程序。相反,你会打电话给
java -jar geniatagger.jar或类似的东西。在 geniatagger 程序中,您可以通过访问标准输入来读取输入的文本。我更新了答案。