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个我都测试通过了。

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

报告相同问题?

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R