欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java執(zhí)行Linux命令的方法

 更新時間:2014年11月20日 14:28:27   投稿:shichen2014  
這篇文章主要介紹了java執(zhí)行Linux命令的方法,涉及對Java中Runtime.exec()函數(shù)的應用,具有一定的參考借鑒價值,需要的朋友可以參考下

本文實例講述了java執(zhí)行Linux命令的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

復制代碼 代碼如下:

public class StreamGobbler extends Thread { 
     
    InputStream is; 
    String type; 
 
    public StreamGobbler(InputStream is, String type) { 
        this.is = is; 
        this.type = type; 
    } 
 
    public void run() { 
        try { 
            InputStreamReader isr = new InputStreamReader(is); 
            BufferedReader br = new BufferedReader(isr); 
            String line = null; 
            while ((line = br.readLine()) != null) { 
                if (type.equals("Error")) { 
                    System.out.println("Error   :" + line); 
                } else { 
                    System.out.println("Debug:" + line); 
                } 
            } 
        } catch (IOException ioe) { 
            ioe.printStackTrace(); 
        } 
    } 

private void shell(String cmd)
{
        String[] cmds = { "/bin/sh", "-c", cmd };
        Process process;

        try
        {
            process = Runtime.getRuntime().exec(cmds);

            StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "Error");
            StreamGobbler outputGobbler = new StreamGobbler(process.getInputStream(), "Output");
            errorGobbler.start();
            outputGobbler.start();
            try
            {
                process.waitFor();
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
}

其中參數(shù) cmd 為Linux命令。每次只能執(zhí)行一條命令。

1.Java Runtime.exec()注意事項:

① 永遠要在調用waitFor()方法之前讀取數(shù)據(jù)流
② 永遠要先從標準錯誤流中讀取,然后再讀取標準輸出流

2.最好的執(zhí)行系統(tǒng)命令的方法就是寫個bat文件或是shell腳本。

希望本文所述對大家的Java程序設計有所幫助。

相關文章

  • Java中的悲觀鎖與樂觀鎖是什么

    Java中的悲觀鎖與樂觀鎖是什么

    這篇文章主要介紹了Java中的悲觀鎖與樂觀鎖是什么,幫助大家更好的理解和學習Java鎖的相關知識,感興趣的朋友可以了解下
    2020-09-09
  • 解決java.sql.SQLException:?validateConnection?false問題的方法匯總(最全)

    解決java.sql.SQLException:?validateConnection?false問題的方法匯總(最

    這篇文章主要給大家介紹了關于解決java.sql.SQLException:?validateConnection?false問題的方法匯總,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • Java基礎之static的用法

    Java基礎之static的用法

    這篇文章主要介紹了Java基礎之static的用法,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot3集成MyBatis詳解

    SpringBoot3集成MyBatis詳解

    MyBatis是一款開源的持久層框架,它極大地簡化了與數(shù)據(jù)庫的交互流程,MyBatis更具靈活性,允許開發(fā)者直接使用SQL語句與數(shù)據(jù)庫進行交互,本文將詳細介紹在Spring Boot項目中如何集成MyBatis,以實現(xiàn)對數(shù)據(jù)庫的輕松訪問和操作,需要的朋友可以參考下
    2023-12-12
  • 詳解Java類動態(tài)加載和熱替換

    詳解Java類動態(tài)加載和熱替換

    本文主要介紹類加載器、自定義類加載器及類的加載和卸載等內容,并舉例介紹了Java類的熱替換。
    2021-05-05
  • 關于springboot中的自定義配置項

    關于springboot中的自定義配置項

    這篇文章主要介紹了關于springboot中的自定義配置項,在項目開發(fā)的過程中,經常需要自定義系統(tǒng)業(yè)務方面的配置文件及配置項,Spring Boot提供了@value注解、@ConfigurationProperties注解和Environment接口等3種方式自定義配置項,需要的朋友可以參考下
    2023-07-07
  • Springmvc實現(xiàn)文件下載2種實現(xiàn)方法

    Springmvc實現(xiàn)文件下載2種實現(xiàn)方法

    這篇文章主要介紹了Springmvc實現(xiàn)文件下載2種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • java調用未知類的指定方法簡單實例

    java調用未知類的指定方法簡單實例

    這篇文章介紹了java調用未知類的指定方法簡單實例,有需要的朋友可以參考一下
    2013-09-09
  • elasticsearch索引index之engine讀寫控制結構實現(xiàn)

    elasticsearch索引index之engine讀寫控制結構實現(xiàn)

    這篇文章主要為大家介紹了elasticsearch索引index之engine讀寫控制結構實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • 一文詳解Java線程的6種狀態(tài)與生命周期

    一文詳解Java線程的6種狀態(tài)與生命周期

    一個線程在給定的時間點只能處于一種狀態(tài)。線程可以有6種狀態(tài):New、Runnable、Blocked、Waiting、Timed?waiting和Terminated。本文將詳細講解這6種狀態(tài),需要的可以參考一下
    2022-05-05

最新評論