java - 如何使用java在linux中运行基本命令?

标签 java linux

我有一个类文件,例如 abc.class,它是从 abc.java 编译的 当尝试执行这个 java 程序时,我没有在控制台中得到输出。 我在linux环境下执行了这个文件。 该文件包含重要的一行之一:

Runtime rt = Runtime.getRuntime();
String a = "ls";

Process proc = null;
try {
    proc = rt.exec(a);
}

注意:在执行程序时,提示不存在,我认为这可能是“ls”未通过我的程序执行的原因。但我没有收到任何错误。 我担心一旦文件被执行,我就会在提示中得到文件列表。 希望我能向大家澄清我的问题。 请对我的这个问题有任何意见吗?你的宝贵

最佳答案

应该执行您的命令,但不会打印您的输出,因为默认情况下输出不会定向到您的控制台,要在控制台上获取输出,您只需要从进程中获取输入流并读取它。

Runtime rt = Runtime.getRuntime();
String a = "ls";

  Process proc = null;
  try
  {
    proc = rt.exec(a);
    proc.waitFor();
    BufferedReader reader =  new BufferedReader(new InputStreamReader(proc.getInputStream())); 

    String line=" ";
    while((line=reader.readLine())!=null)
    {
       output.append(line+"\n");
    }
  }

关于java - 如何使用java在linux中运行基本命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24527032/

相关文章:

java - Java 中的 HTTP POST 请求 .setRequestMethod() 不执行任何操作

java - Ibatis Ref Curosr 与 Oracle 的问题

linux - 有限制的 Shellcode

c - ARM linux 用户空间 gpio 操作使用 mmap/dev/mem 方法(能够写入 GPIO 寄存器,但无法从中读取)

java - 绘制数千个粒子的更高效方法(Java/Android)

java - 工厂模式是否仅使用默认构造函数创建对象

Java nio2 目录没有关闭。导致 "too many open files"错误

c++ - 如何跟踪消息响应时间和重传

linux - 如何找到工作副本和任意版本之间的 svn 差异?

java - Android 上的 SMS 消息传递的有趣问题。漏洞?