论坛首页 入门技术论坛

java调用windows 下dos命令

浏览 2469 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-25  
最近没事,想用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();  
        }  
 
    }  

本篇文章来源于 :刘志猛博客 原文链接:
http://www.liuzm.com/article/java/9630a.htm
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics