導航:首頁 > 編程語言 > java怎樣調用dos命令

java怎樣調用dos命令

發布時間:2021-04-12 15:42:27

1. java調用CMD命令

String command = 「cmd命令」

Process pro = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pro.getInputStream()));

2. JAVA中如何執行DOS命令

1.使用Process類操作


importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
importjava.io.SequenceInputStream;

publicclassProcessing
{
publicstaticvoidmain(String[]args)throwsInterruptedException
{

{
//opencmd
//Processprocess=Runtime.getRuntime().exec(newString[]{
//"cmd","/c","dir"},null,newFile("e:/"));
Processprocess=Runtime.getRuntime().exec("cmd");
SequenceInputStreamsis=newSequenceInputStream(process.getInputStream(),process.getErrorStream());
InputStreamReaderisr=newInputStreamReader(sis,"GBK");
BufferedReaderbr=newBufferedReader(isr);
//nextcommand
OutputStreamWriterosw=newOutputStreamWriter(process.getOutputStream());
BufferedWriterbw=newBufferedWriter(osw);
bw.write("cdC:/WINDOWS/audio/");
bw.newLine();
bw.write("c:");
bw.newLine();
bw.write("ffmpeg-ikeyboard.wavkeyboard.mp3");
bw.newLine();
bw.flush();
bw.close();
osw.close();
//read
Stringline=null;
while(null!=(line=br.readLine()))
{
System.out.println(line);
}
//waitfortermination
/*process.waitFor();
process.exitValue();*/
process.destroy();
br.close();
isr.close();
}
catch(IOExceptione)
{
e.printStackTrace();
}
//catch(InterruptedExceptione)
//{
//e.printStackTrace();
//}
}
}

2.使用ProcessBuilder類操作。

importjava.io.BufferedReader;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.util.LinkedList;

publicclassTestProcessBuilder
{
publicstaticvoidmain(String[]args)throwsException
{
ProcessBuilderbuilder=newProcessBuilder("cmd","/c","ipconfig/all");
// builder.directory(newFile("C:\WINDOWS\audio"));
Processprocess=builder.start();
InputStreamis=process.getInputStream();
InputStreamReaderisr=newInputStreamReader(is,"GBK");
BufferedReaderbr=newBufferedReader(isr);
LinkedList<String>list=newLinkedList<String>();
Stringline;
Stringregex=".*Ethernetadapter(.*)\:.*";
while(null!=(line=br.readLine()))
{
if(!"".equals(line))
{
if(line.matches(regex))
{
list.add(line.replaceAll(regex,"$1"));
}
System.out.println(line);
}
}
br.close();
isr.close();
is.close();
process.destroy();
System.out.println(list);
}
}
3.使用Runtime操作。

3. java怎樣同時調用三個dos命令

Java調用命令行,可以指定運行的目錄,不需要再進行目錄操作。
還有你要理解Java的命令行交互,只得是和其他程序的命令行輸入和輸出交互,不完全等同於windows下的cmd和linux下的sh。假如你要連續的執行命令,你可以反復調用Process,根據Process的輸出和輸入來判斷進展狀態,一個完了再開始另一個

這類問題可以到ITjob網站上了解

4. java中調用cmd命令

可以通過Runtime 的exec方法來進行執行。舉例:
public class Test {
public static void main(String[] args) { 專
Runtime r=Runtime.getRuntime();
Process p=null;
try{
String s="DOT的路屬徑\\dot.exe c:\\user\\Administrator\\test.txt -Tpng -o result.png";
p=r.exec(s);
}catch(Exception e){
System.out.println("錯誤:"+e.getMessage());
e.printStackTrace();
}
}
}

5. JAVA如何調用DOS命令

下面是一種比較典型的程序模式:
Process process = Runtime.getRuntime().exec(".\\p.exe");
process.waitfor( );
在上面的程序中,第一行的「.\\p.exe」是要執行的程序名,Runtime.getRuntime()返回當前應用程序的Runtime對象,該對象的exec()方法指示Java虛擬機創建一個子進程執行指定的可執行程序,並返回與該子進程對應的Process對象實例。通過Process可以控制該子進程的執行或獲取該子進程的信息。第二條語句的目的等待子進程完成再往下執行。
但在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()命令之前讀出窗口的標准輸出緩沖區中的內容。一段典型的程序如下:

6. 請問在java中執行dos命令 怎麼些

嘿嘿..

Runtime rt=Runtime.getRuntime();
String cmd="c:\\windows\\system32\\notepad.exe";
try{
rt.exec(cmd);
}
catch(IOException e){
e.printStackTrace();
}

7. java調用DOS命令

利用java執行dos命令,可以利用java.lang包下的Runtime和Process類,完成對命令的執行,代碼如下:

Example
packagedos;
importjava.io.*;
publicclasstestdos
{
publicstaticvoidmain(String[]args)throwsIOException{
Stringcommand="ipconfig";
Runtimer=Runtime.getRuntime();
Processp=r.exec(command);
//System.out.println(p.getClass().getName());
BufferedReaderbr=newBufferedReader(newInputStreamReader(
p.getInputStream()));
StringBuffersb=newStringBuffer();
Stringinline;
while(null!=(inline=br.readLine())){
sb.append(inline).append(" ");
}
System.out.println(sb.toString());
}
}

8. java代碼怎麼實現執行dos運行命令

使用Runtime類,他是一個與JVM運行時環境有關的類,這個類是Singleton的。Runtime.getRuntime()可以取得當前JVM的運行時環境,這也是在Java中唯一一個得到運行時環境的方法。Runtime.exec()方法就是執行cmd命令的方法。


舉例

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importjava.util.HashMap;

publicclassTest{

publicstaticvoidmain(String[]args){
excuteCommand("ipconfig");
excuteCommand("ping10.141.26.50");
}

publicstaticvoidexcuteCommand(Stringcommand)
{

Runtimer=Runtime.getRuntime();
Processp;
try{

p=r.exec(command);
BufferedReaderbr=newBufferedReader(newInputStreamReader(p
.getInputStream()));
Stringinline;
while((inline=br.readLine())!=null){
System.out.println(inline);

}
br.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}

}
}

9. java 程序中執行dos命令

命令換成
notepad.exe D:\\download\\5140.txt

試試

10. java如何執行cmd命令

用JAVA代碼實現執行CMD命令的方法!

Runtimert=Runtime.getRuntime();
Processp=rt.exec(String[]cmdarray);或者Processp=rt.exec(Stringcmd);
cmd命令格式為"cmd.exe/cipconfig/all"
對像p為進程,在給p賦值內以前,必須保證p為空容
if(p!=null){
p.destory();
p=null;
}
閱讀全文

與java怎樣調用dos命令相關的資料

熱點內容
網站刪除的頁面如何查詢 瀏覽:921
wordpress文章目錄插件 瀏覽:740
華為電話app刪了怎麼恢復 瀏覽:993
氧氣是什麼意網路 瀏覽:711
zite安卓版 瀏覽:365
華為榮耀5x安卓60 瀏覽:71
如何退出注冊的網站 瀏覽:164
程序員公認的it公司 瀏覽:641
excel怎麼把文件名弄到上方 瀏覽:983
得物app客服怎麼操作 瀏覽:886
javaframe圖標 瀏覽:689
ATMEGA編程教程 瀏覽:939
qq文件找不到userdb 瀏覽:295
電腦看榮耀手機存儲文件在哪裡找 瀏覽:19
手機網路運營商用哪個好 瀏覽:564
如何用java創建小米網站 瀏覽:333
基於網路卡頓怎麼搞 瀏覽:26
音頻文件標題無法修改 瀏覽:10
金山毒霸單文件版 瀏覽:165
保險業融資情況需要哪些數據 瀏覽:15

友情鏈接