我有一个类文件,例如 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/