lara9 2012-10-14 16:35
浏览 318
已采纳

java应用程序调用WIN7的netsh wlan show hostednetwork命令

这是程序的代码

 

 

package awt;

 

 import java.io.*;

 import java.lang.Runtime;

 import java.lang.Process;

 

 public class Router 

 {

  Runtime runtime = Runtime.getRuntime();//得到jvm的运行环境

  Process process7;

  public static void main(String argsp[])

  {

  new Router().to_process();

  }

  public void to_process()

  {

  try

  {

  process7=runtime.exec("cmd.exe/netsh wlan show hostednetwork");

  process7.wait();

  InputStream in=process7.getInputStream();  

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

  String s=bufferedReader.readLine();

  while(s!= null)

  {  

  System.out.println(s);

  }  

  in.close();  

  bufferedReader.close();

  }

  catch(IOException ae)

  {

  ae.printStackTrace();

  }

  catch(InterruptedException ie)

  {

  ie.printStackTrace();

  }

  }

 }

 

下面那是程序运行的错误提示

 

java.io.IOException: Cannot run program "cmd.exe/netsh": CreateProcess error=2, ?????????

  at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)

  at java.lang.Runtime.exec(Runtime.java:593)

  at java.lang.Runtime.exec(Runtime.java:431)

  at java.lang.Runtime.exec(Runtime.java:328)

  at awt.Router.to_process(Router.java:19)

  at awt.Router.main(Router.java:13)

 Caused by: java.io.IOException: CreateProcess error=2, ?????????

  at java.lang.ProcessImpl.create(Native Method)

  at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)

  at java.lang.ProcessImpl.start(ProcessImpl.java:30)

  at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)

  ... 5 more

 

 那位高手路过,请看看是哪里的问题?

  • 写回答

1条回答 默认 最新

  • iteye_5246 2012-10-14 16:58
    关注

    送你一个demo

    [code="java"]
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;

    public class CommandTest {
    public static void main(String args[]) {
    String javaExcute="netsh wlan show hostednetwork";//javaExcute为你要在CMD中执行的字符串

    Process p;
    try {
    //执行CMD代码,返回一个Process
    p = Runtime.getRuntime().exec(javaExcute);
    InputStream is = p.getInputStream();
    //得到相应的控制台输出信息
    InputStreamReader bi = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(bi);
    String message;
    message = br.readLine();

    while(message != null && !"".equals(message)){
    //将信息输出
    System.out.println(message);
    message = br.readLine();
    }
    } catch (IOException e) {
    e.printStackTrace();
    return;
    }
    }
    }
    [/code]
    我的系统是win7 的 我运行结果是:
    无线自动配置服务(wlansvc)没有运行。
    你字符串写的cmd命令写的有问题:
    看我的
    1. netsh wlan show hostednetwork
    2. cmd.exe /c netsh wlan show hostednetwork
    2个我都测试通过了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog