簡體   English   中英

從java運行linux命令

[英]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);
    }

謝謝你的時間。

更新:對我來說,我的解決方案是:我必須重新安裝操作系統和 JDK,現在一切正常。

我希望你熟悉vi 如果沒有,請忽略下面給出的第三個命令,只需將Main.java文件復制到/Users/your-user-directory/

cd ~
pwd
vi Main.java
javac Main.java
java Main

主程序

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);
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM