java調用windows 下dos命令

最近沒事,想用JAVA寫點調用WIN 的DOS命令
以下是我自己的一點心得,希望能給瞭解這方面的人一些幫助

方法 一:

public static void main(String[] args) {


InputStream ins = null;;
String[] cmd = new String[] { "cmd.exe", "/C", "ipconfig" };
try {

Process process = Runtime.getRuntime().exec(cmd);
ins = process.getInputStream(); //cmd 的信息

BufferedReader reader = new BufferedReader(new InputStreamReader(ins));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line); //輸出
}

int exitValue = process.waitFor();
System.out.println("返回值:" + exitValue);
process.getOutputStream().close(); //不要忘記了一定要關

} catch (Exception e) {

e.printStackTrace();
}

}


方法二:


class StreamDrainer implements Runnable {
private InputStream ins;

public StreamDrainer(InputStream ins) {
this.ins = ins;
}

public void run() {
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(ins));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}

}

public class cmd {

public static void main(String[] args) {
// String[] cmd = new String[] { "cmd.exe", "/C", "wmic process get name" };
String[] cmd = new String[] { "cmd.exe", "/C", "ipconfig" };
try {
Process process = Runtime.getRuntime().exec(cmd);

new Thread(new StreamDrainer(process.getInputStream())).start();
new Thread(new StreamDrainer(process.getErrorStream())).start();

process.getOutputStream().close();

int exitValue = process.waitFor();
System.out.println("返回值:" + exitValue);
} catch (Exception e) {
e.printStackTrace();
}

}

本篇文章來源於 :劉志猛博客 原文鏈接:
[url]http://www.liuzm.com/article/java/9630a.htm[/url]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章