运行 linux 命令来自 java
run linux command from java
我尝试从 jar 文件 运行 linux 命令,但我总是收到此错误:
java.io.IOException:无法运行编程"ls":错误=13,权限被拒绝。
这是我的代码:
String s;
Process p;
String cmd= "ls";
try {
Runtime run = Runtime.getRuntime();
p = run.exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = br.readLine()) != null){
System.out.println("line: " + s);
}
p.waitFor();
System.out.println ("exit: " + p.exitValue());
p.destroy();
} catch (Exception e) {
System.out.println(e);
}
感谢您抽出时间。
更新:
对我来说,我的解决方案是:我必须重新安装 OS 和 JDK,现在一切正常。
希望您熟悉vi
。如果不是,请忽略下面给出的第三条命令,只需将 Main.java
文件复制到 /Users/your-user-directory/
cd ~
pwd
vi Main.java
javac Main.java
java Main
Main.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
String s;
Process p;
String cmd = "ls";
try {
Runtime run = Runtime.getRuntime();
p = run.exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = br.readLine()) != null) {
System.out.println("line: " + s);
}
p.waitFor();
System.out.println("exit: " + p.exitValue());
p.destroy();
} catch (Exception e) {
System.out.println(e);
}
}
}
我尝试从 jar 文件 运行 linux 命令,但我总是收到此错误:
java.io.IOException:无法运行编程"ls":错误=13,权限被拒绝。
这是我的代码:
String s;
Process p;
String cmd= "ls";
try {
Runtime run = Runtime.getRuntime();
p = run.exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = br.readLine()) != null){
System.out.println("line: " + s);
}
p.waitFor();
System.out.println ("exit: " + p.exitValue());
p.destroy();
} catch (Exception e) {
System.out.println(e);
}
感谢您抽出时间。
更新: 对我来说,我的解决方案是:我必须重新安装 OS 和 JDK,现在一切正常。
希望您熟悉vi
。如果不是,请忽略下面给出的第三条命令,只需将 Main.java
文件复制到 /Users/your-user-directory/
cd ~
pwd
vi Main.java
javac Main.java
java Main
Main.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
String s;
Process p;
String cmd = "ls";
try {
Runtime run = Runtime.getRuntime();
p = run.exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = br.readLine()) != null) {
System.out.println("line: " + s);
}
p.waitFor();
System.out.println("exit: " + p.exitValue());
p.destroy();
} catch (Exception e) {
System.out.println(e);
}
}
}