Java实现运行dos命令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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++;

}

}

}

Process exec(String command)

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

Process exec(String[] cmdarray)

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

Process exec(String[] cmdarray, String[] envp)

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

Process exec(String[] cmdarray, String[] envp, File dir)

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

Process exec(String command, String[] envp)

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

Process exec(String command, String[] envp, File dir)

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

abstract In putStream getErrorStream()

获取子进程的错误流。

abstract In putStream getInputStream()

获取子进程的输入流。

abstract Ou tputStream getOutputStream()

获取子进程的输出流。

本实例简单用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命令带参数的命令

相关文档
最新文档