是否可以让Java程序与终端通信?

时间:2016-06-13 02:35:56

标签: java linux terminal

我知道你可以使用terminal / cmd将参数传递给Java程序,但是你可以用另一种方式来做,即让Java程序将信息传递回终端吗?

更具体地说,我想做这样的事情:

  • 使用terminal启动并将值传递给Java程序
  • 根据输入执行操作并传回值
  • 使用该值使用终端
  • 加密文件
  • 重复

2 个答案:

答案 0 :(得分:0)

开始使用:

  

每个Java应用程序都有一个Runtime类实例,它允许应用程序与运行应用程序的环境进行交互。可以从getRuntime方法获取当前运行时。 - Java API

您基本上可以使用此类在终端中运行任何内容:

Process p = Runtime.getRuntime().exec(command, null);

其中命令类似于ffmpeg -help

答案 1 :(得分:0)

在main方法的开头传递给程序的等价的args是一个传递给程序退出语句的Integer,它是程序的返回值:

System.exit(0);

这个数字可以是任何整数。

如果您通过java yourProgram运行程序,则可以通过

获取退出代码
echo $?