我在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();
展开
2017-08-25
展开全部
返回主方法重岩山新调用什么????主方法就是顺着执行啊,执行完你调用的类的方法,就毕胡回粗数中来顺着语句执行啊。。。
2017-07-20
展开全部
百度搜春岁索txt电子书烂高,直接移到内存卡里,或者自己用电脑建立Txt格式的电子书,然后把网上的文字复制到自己建立的Txt里,这样也是电扒历睁子书哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-08-18
展开全部
好像不行,可能会造成混乱,JVM不知道调用哪一个main函数了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-04-14
展开全部
为什么要使用双循环。第2个循环有点问题
更多追问追答
追问
每一个wifi都是以network开始,中间内容不同,外循环用来循环每一个network,内循环用来循环取内容,这里代码不全,字数上限了,后面有询问与输出。就是不知道为什么连续执行会卡死,主方法里每次调用完了都System.gc()了的
追答
boolean find=false;
while((s=dis.readLine())!=null){
if(s.indexOf("bytes free")>-1){//特定的结束字符串退出
break;
}
if(!find){
System.out.println(s);
if( s.indexOf("network")>-1){
find=true;
}
}else{
ch=new char[128];
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++;
find=false;
}
}
}
dos.writeBytes("exit\n");
试试这样
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询