可以使用java.lang.Process和java.lang.Runtime實現,下面展示兩個例子,其它用法請查閱資料:
1、執行ping命令:
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassProcessTest{
publicstaticvoidmain(String[]args){
BufferedReaderbr=null;
try{
Stringcmd="ping127.0.0.1";
//執行dos命令並獲取輸出結果
Processproc=Runtime.getRuntime().exec(cmd);
br=newBufferedReader(newInputStreamReader(proc.getInputStream(),"GBK"));
Stringline;
while((line=br.readLine())!=null){
System.out.println(line);
}
proc.waitFor();
}catch(IOExceptione){
e.printStackTrace();
}catch(InterruptedExceptione){
e.printStackTrace();
}finally{
if(br!=null){
try{
br.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
}
2、打開瀏覽器並跳轉到網路首頁:
importjava.io.IOException;
publicclassProcessTest{
publicstaticvoidmain(String[]args){
try{
StringexeFullPathName="C:/ProgramFiles/InternetExplorer/IEXPLORE.EXE";
Stringmessage="www..com";
String[]cmd={exeFullPathName,message};
Processproc=Runtime.getRuntime().exec(cmd);
}catch(IOExceptione){
e.printStackTrace();
}
}
}
⑵ 如何用命令方式運行java程序
新建一個文本文件,就用windows的記事本吧。
如何在windows命令行窗口運行Java程序
打開記事本,輸入一段代碼。
如何在windows命令行窗口運行Java程序
保存的時候把後綴名修改為.java。
如何在windows命令行窗口運行Java程序
打開運行,在運行輸入欄中輸入cmd。打開命令提示窗口。
如何在windows命令行窗口運行Java程序
先轉到.java文件所在的位置。這里是在d盤的根目錄。
如何在windows命令行窗口運行Java程序
執行以下一句命令之後,可以看見在.java的文件夾裡面生成了一個為.class的類文件。
如何在windows命令行窗口運行Java程序
7
執行以下命令之後,就可以看到結果了。。
如何在windows命令行窗口運行Java程序
⑶ 怎麼在cmd裡面運行 java
方法如下:
1、首先我們在命令行運行Java程序需要藉助jdk的環境依賴,打開jdk包,需要找到javac和java兩個文件,如下圖所示
(3)java執行系統命令擴展閱讀:
命令提示符是在操作系統中,提示進行命令輸入的一種工作提示符。在不同的操作系統環境下,命令提示符各不相同。
在windows環境下,命令行程序為cmd.exe,是一個32位的命令行程序,微軟Windows系統基於Windows上的命令解釋程序,類似於微軟的DOS操作系統。
輸入一些命令,cmd.exe可以執行,比如輸入shutdown -s -t 30就會在30秒後關機。總之,它非常有用。打開方法:開始-所有程序-附件 或 開始-尋找-輸入:cmd/cmd.exe 回車。它也可以執行BAT文件。
一般說的「命令行」是指linux命令,linux命令是對Linux系統進行管理的命令。對於Linux系統來說,無論是中央處理器、內存、磁碟驅動器、鍵盤、滑鼠,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命令類似。linux命令在系統中有兩種類型:內置Shell(外殼)命令和Linux命令。
運行方法
⒈ 點擊開始--運行--輸入--CMD 回車(或按windows鍵和R鍵彈出運行框—輸入CMD回車)[1]
⒉Windows XP中單擊「開始→所有→附件→命令提示符」即可打開命令提示符。
系統會默認定位到「X:Documents and Settings當前用戶名」下。
⒊點擊我的電腦--打開系統盤(C:)--WINDOWS--system32--CMD.EXE
建立一個快捷方式,將絕對路徑輸入再運行也可快速打開命令提示符。
⒋在桌面或任意磁碟新建一個TXT--輸入CMD並保存--修改擴展名為.BAT(文件名隨意)--運行即可
這樣的特點是運行這個BAT後,命令提示符下的路徑直接顯示你BAT所在的目錄路徑。
⒌win7的運行除了以上的方法外還可以系統桌面上先按住「Shift」鍵,單擊滑鼠右鍵出現的菜單,選擇「在此處打開命令行窗口」後,就出現了命令提示符。
命令提示符默認位置更改方法
單擊「開始→控制面板→性能和維護→管理工具→計算機管理」,(經典分類視圖下跳過第3步)
依次展開「系統工具→本地用戶和組→用戶」,然後在右側窗口中雙擊當前登陸的用戶名,
在打開的「屬性」對話框單擊「配置文件」選項卡,在「主文件夾」下的「本地路徑」後面鍵入
你想更的當前盤符或當前目錄,如「E:」,然後單擊「應用→確定」,重新啟動計算機即可完成更改。
⑷ 如何用java執行命令行
Java運行命令行並獲取返回值,下面以簡單的Java執行ping命令(ping 127.0.0.1 -t
)為例,代碼如下:
Processp=Runtime.getRuntime().exec("ping127.0.0.1-t");
Processp=Runtime.getRuntime().exec("javac");
InputStreamis=p.getInputStream();
BufferedReaderreader=newBufferedReader(newInputStreamReader(is));
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
p.waitFor();
is.close();
reader.close();
p.destroy();
}
⑸ Java 如何實現 系統調用
通過 java.lang.Runtime 類可以方便的調用操作系統命令,或者一個可執行程序,下面的小例子我在windows和linux分別測試過,都通過。基本原理是,首先通過 Runtime.getRuntime() 返回與當前 Java 應用程序相關的運行時對象,然後調用run.exec(cmd) 另啟一個進程來執行命令(cmd為要執行的命令)。
一、運行一個可執行程序
執行一個.exe的文件,或通過已安裝的軟體打開一個特定格式的文件,如word、chm或mp3等等。
1. 在window下可以直接執行一個.exe文件,如執行我在F盤下的tomcat安裝文件,將命令寫為:
String cmd = "F:\\apache-tomcat-6.0.20.exe";
2. 打開一個word文檔。如果系統已經安裝了office應用程序,就可以通過調用word的可執行程序來打開一個word文檔:
String cmd = "D:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE F:\\test.doc";
當然這樣寫有點麻煩,我們想打開一個word文檔時只要雙擊就可以了,用不著去找WINWORD.EXE。要是打開每一種格式的文件都得去找它的可執行程序,那可累死了,我們可以通過下面的代碼,打開任意一個已知格式的文件(只要安裝的打開這種文件格式的軟體),相當於用滑鼠雙擊一個文件的圖標:
String cmd = "cmd.exe /c start F:\\test.doc";
我用C寫了一個進程操作的小例子,放在 linux 下編譯出的可執行文件叫「fork_wait」,然後把我的java文件編譯成TestRunTime.class後扔到 linux 上,在控制台執行 java TestRunTime 命令,TestRunTime 和 fork_wait 程序均運行成功。
String cmd = "./fork_wait";
二、執行一個有標准輸出的系統命令
通過調用進程的 getInputStream() 方法,可以獲得執行命令的標准輸出。在 windows 的cmd控制台窗口和 linux 控制台執行系統名利的格式是一樣的,只是輸入的命令不同而已。
如要執行windows控制台中ping命令,可寫為:String cmd = "ping www..com";
執行linux的ls命令,可寫為:String cmd = "ls -l";
如果要執行一個帶參數的命令,可使用 String 數組形式,如:
String[] cmd=new String[3];
cmd[0]="/bin/sh";
cmd[1]="-c";
cmd[2]="ls -l ./";
下面是我寫的小例子:
Java代碼
package com.why.RunTime;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TestRunTime {
public static void main(String[] args) {
//windows
// String cmd = "F:\\apache-tomcat-6.0.20.exe";
// String cmd = "D:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE F:\\test.doc";
// String cmd = "cmd.exe /c start F:\\test.doc";
String cmd = "ping www..com";
//linux
// String cmd = "./fork_wait";
// String cmd = "ls -l";
// String[] cmd=new String[3];
// cmd[0]="/bin/sh";
// cmd[1]="-c";
// cmd[2]="ls -l ./";
Runtime run = Runtime.getRuntime();//返回與當前 Java 應用程序相關的運行時對象
try {
Process p = run.exec(cmd);// 啟動另一個進程來執行命令
BufferedInputStream in = new BufferedInputStream(p.getInputStream());
BufferedReader inBr = new BufferedReader(new InputStreamReader(in));
String lineStr;
while ((lineStr = inBr.readLine()) != null)
//獲得命令執行後在控制台的輸出信息
System.out.println(lineStr);// 列印輸出信息
//檢查命令是否執行失敗。
if (p.waitFor() != 0) {
if (p.exitValue() == 1)//p.exitValue()==0表示正常結束,1:非正常結束
System.err.println("命令執行失敗!");
}
inBr.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
⑹ 編譯java程序的命令是什麼,運行java應用程序的命令是什麼
當前默認目錄為C盤Users文件夾下的Administrator文件夾。一般而言,我們習慣改變當前目錄。由於windows有磁碟分區,若要跳到其他磁碟,例如E盤,有幾種方法:
1、輸入命令: pushd 路徑(此命令可將當前目錄設為所希望的任一個已存在的路徑)
2、輸入命令: e: 轉移到e盤,然後再輸入 cd 轉移到所希望的已知路徑。
希望在windows命令行下使用javac、java、javap等命令,那麼當前電腦必須安裝了jdk,並且將jdk的bin目錄添加到環境變數path下了。
拓展資料:
Java是一種編程語言,被特意設計用於互聯網的分布式環境。Java具有類似於C++語言的「形式和感覺」,但它要比C++語言更易於使用,而且在編程時徹底採用了一種「以對象為導向」的方式。
使用Java編寫的應用程序,既可以在一台單獨的電腦上運行,也可以被分布在一個網路的伺服器端和客戶端運行。另外,Java還可以被用來編寫容量很小的應用程序模塊或者applet,做為網頁的一部分使用。applet可使網頁使用者和網頁之間進行互動式操作。
⑺ java中如何執行linux命令
執行linux命令基,基本思路是從控制台獲得輸入的指令,啟動命令行執行命令,捕捉異常,示例如下:
publicclassTestRunTime{
publicstaticvoidmain(String[]args)throwsIOException,InterruptedException{
Stringcmd="";
if(args==null||args.length==0){
System.out.println("請輸入命令行參數");
}else{
for(inti=0;i<args.length;i++){//獲得輸入的命令
cmd+=args[i]+"";
}
}
try{
Processprocess=Runtime.getRuntime().exec(cmd);//執行命令
InputStreamReaderir=newInputStreamReader(process.getInputStream());
LineNumberReaderinput=newLineNumberReader(ir);
Stringline;
while((line=input.readLine())!=null){//輸出結果
System.out.println(line);
}
}catch(java.io.IOExceptione){
System.err.println("IOException"+e.getMessage());//捕捉異常
}
}
}
⑻ java如何調用windows的命令
1、執行DOS的內部命令
如果要執行一條DOS內部命令,有兩種方法。一種方法是把命令解釋器包含在exec()的參數中。例如,執行dir命令,在NT上, 可寫成exec("cmd.exe /c dir"),在windows 95/98下,可寫成「command.exe /c dir」,其中參數「/c」表示命令執行後關閉Dos立即關閉窗口。另一種方法是,把內部命令放在一個批命令my_dir.bat文件中,在Java程序中寫成exec("my_dir.bat")。如果僅僅寫成exec("dir"),Java虛擬機則會報運行時錯誤。前一種方法要保證程序的可移植性,需要在程序中讀取運行的操作系統平台,以調用不同的命令解釋器。後一種方法則不需要做更多的處理。
2、打開一個不可執行的文件
打開一個不可執行的文件,但該文件存在關聯的應用程序,則可以有兩種方式。 以打開一個word文檔a.doc文件為例,Java中可以有以下兩種寫法:
exec("start .\\a.doc");
exec(" c:\\Program Files\\Microsoft Office\\office\\winword.exe .\\a.doc");
顯然,前一種方法更為簡捷方便。
3、執行一個有標准輸出的DOS可執行程序
在windows平台上,運行被調用程序的DOS窗口在程序執行完畢後往往並不會自動關閉,從而導致Java應用程序阻塞在waitfor( )。導致該現象的一個可能的原因是,該可執行程序的標准輸出比較多,而運行窗口的標准輸出緩沖區不夠大。解決的辦法是,利用Java提供的Process類提供的方法讓Java虛擬機截獲被調用程序的DOS運行窗口的標准輸出,在waitfor()命令之前讀出窗口的標准輸出緩沖區中的內容。一段典型的程序如下:
...
String ls_1;
Process process = Runtime.getRuntime().exec("cmd /c dir \\windows");
BufferedReader bufferedReader = new BufferedReader( \
new InputStreamReader(process.getInputStream());
while ( (ls_1=bufferedReader.readLine()) != null)
System.out.println(ls_1);
process.waitfor( );
...