Java コードからいくつかの Mac (Linux の?) コマンドを実行しようとしています。例として、この短いクラスを作成しました。このフォーラムで他の同様の質問を読んでみましたが、修正できませんでした。
エラーが発生します。
私は試した:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("/Users/xxxx/Documents/ABC");
アクセス拒否メッセージが表示されます。以下のコードはエラーになります。
この質問 Want to invoke a linux shell command from Java は同様の問題について話しましたが、彼らが議論を終わらせたとは思いません。
Mac OS 10.7を使用しています。
public class Main {
public static void main(String args[]) {
try {
Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","ls /Users/xyz/Documents/ABC"});
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line=null;
while((line=input.readLine()) != null) {
System.out.println(line);
}
int exitVal = p.waitFor();
System.out.println("Exited with error code "+exitVal);
} catch(Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
}
}