视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Java实现运行dos命令
2025-09-24 11:05:39 责编:小OO
文档
                         Java打印当前局域网中链接的主机信息

public class Test2 {

   public static void main(String[] args) throws IOException {

         String[] cmd = new String[3];

         cmd[0] = "cmd.exe";

         cmd[1] = "/c";

         cmd[2] = "arp -a";

         Runtime rt = Runtime.getRuntime();    

      Process proc = rt.exec(cmd);

      InputStream isInputStreamReader= proc.getInputStream();

      BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(isInputStreamReader));

      String length=null;

        int  i=0;

      while((length=bufferedReader.readLine())!=null)

      {

          System.out.println(length);

          i++;

      }

    }

}

 

Processexec(String command) 

          在单独的进程中执行指定的字符串命令。

 Processexec(String[] cmdarray) 

          在单独的进程中执行指定命令和变量。

 Processexec(String[] cmdarray, String[] envp) 

          在指定环境的进程中执行指定命令和变量。

 Processexec(String[] cmdarray, String[] envp, File dir) 

          在指定环境和工作目录的进程中执行指定的命令和变量。

 Processexec(String command, String[] envp) 

          在指定环境的单独进程中执行指定的字符串命令。

 Processexec(String command, String[] envp, File dir) 

          在有指定环境和工作目录的进程中执行指定的字符串命令。

abstract  InputStreamgetErrorStream() 

          获取子进程的错误流。

abstract  InputStreamgetInputStream() 

          获取子进程的输入流。

abstract  OutputStreamgetOutputStream() 

          获取子进程的输出流。

本实例简单用java实现了win7下的cmd.exe中的命令的输出。

public class Test2 {

   public static void main(String[] args) throws IOException {

         String[] cmd = new String[3];

         cmd[0] = "cmd.exe";

         cmd[1] = "/c";

         while(true)

        {

         

         System.out.println("输入你要运行的dos命令");

         

         //对于简单的一个命令可以使用Scanner来接收用户的输入但是对于有参数的命令就不能使用它。而是使用流来操作

         

        // Scanner  scanner=new Scanner(System.in);

          

         //使用流来操作避免用户输入用参数的命令

          

         InputStreamReader   IS=new InputStreamReader(System.in);

         BufferedReader     BR=new BufferedReader(IS);

          cmd[2]=BR.readLine();

          

          

       Runtime rt = Runtime.getRuntime();

       Process proc = rt.exec(cmd);

       InputStream isInputStreamReader= proc.getInputStream();

       new Thread1(isInputStreamReader).start();

  

       //线程让出资源

       try {

            Thread.currentThread().sleep(1000);

        } catch (InterruptedException e) {

            

            e.printStackTrace();

        }

    }

   }

}

class   Thread1  extends Thread

{

    private InputStream   is;

    

    public Thread1(InputStream  is) {

        

        this.is=is;

    }

   public  void  run()

   {

       InputStreamReader  isr=new InputStreamReader(is);

       BufferedReader  br=new BufferedReader(isr);

       String  Length=null;

       try {

            while((Length=br.readLine())!=null)

            {

               System.out.println(Length);

              

            }

        

    } catch (IOException e) {

        

        e.printStackTrace();

    }   

   }

}

用户可以输入dos命令带参数的命令下载本文

显示全文
专题