我找到了我问题的答案。
问题在于终端的第二个响应实际上是在第一个响应中,而密码必须在中间发送。这是代码(我同意,我的解释有点含糊):
String s=""; Process p = Runtime.getRuntime().exec("p4 login"); BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); char a=(char)in.read(); while(a>0 && a<256) { a=(char)in.read(); if(nb==14) new PrintWriter(p.getOutputStream(),true).println(password); if(nb>16) s=s+a; nb++; } if(s.startsWith("User")) loggedIn=true; else loggedIn=false;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)