sand java_我在sand用java写了一个读取wifi密码的程序,该方法由主方法调用,运行没问题,效果也正常,...

我在sand用java写了一个读取wifi密码的程序,该方法由主方法调用,运行没问题,效果也正常,就是无法连续调用,就是如果调用一次就退出然后再运行就可以,如果用完了,再主方法里选择...

我在sand用java写了一个读取wifi密码的程序,该方法由主方法调用,运行没问题,效果也正常,就是无法连续调用,就是如果调用一次就退出然后再运行就可以,如果用完了,再主方法里选择再次调用就会出现卡死,很久并不停打印:输入有误,重新输入(代码里有该字符串) 代码如下: static public int readwifipw() { String s=null,name=null,pw=null,way=null; wifipw[] wp=new wifipw[64]; char[] ch; int i=0,j=0,k=0; try{ Process p=Runtime.getRuntime().exec("su"); DataOutputStream dos=new DataOutputStream(p.getOutputStream()); BufferedReader dis=new BufferedReader(new InputStreamReader(p.getInputStream())); dos.writeBytes("cat /data/misc/wifi/wpa_supplicant.conf\n"); dos.flush(); while(true){ s=new String(dis.readLine()); if(s.indexOf("network")!=-1) { while(true){ ch=new char[128]; s=new String(dis.readLine()); if(s.indexOf("ssid")!=-1) { j=s.indexOf("\""); k=s.indexOf("\"",j+1); if((j!=-1)&&(k!=-1)) { s.getChars(j+1,k,ch,0); name=new String(ch); } } else if(s.indexOf("psk")!=-1) { j=s.indexOf("\""); k=s.indexOf("\"",j+1); s.getChars(j+1,k,ch,0); pw=new String(ch); } else if(s.indexOf("key")!=-1) { j=s.indexOf("="); s.getChars(j+1,s.length(),ch,0); way=new String(ch); wp[i]=new wifipw(name,pw,way); i++; break; } else continue; } } if(!dis.ready()) break; } dos.writeBytes("exit\n"); dos.flush(); dos.close();

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值