2012-12-02 11 views
0

다음 코드를 사용하여 Java 응용 프로그램에서 Windows 명령을 실행합니다. 나는 같은 일부 Windows 명령을 시도 : ver 그리고 그것은 나와 함께 파일을 작동합니다. 응용 프로그램에서 사용해야하는 명령은 openssl입니다. Windows에서 작동하므로 Windows 용 openssl을 다운로드했습니다. 명령 줄 창에서 다음 명령을 시도했지만 제대로 작동합니다. 그러나 Java 응용 프로그램에서이 응용 프로그램을 실행하면 얻을 수있는 모든 작업이 완료됩니다. 나는 출력을 얻지 못한다. 아무도 도와 줄 수 있니? 여기 Java 응용 프로그램에서 openssl 명령을 실행하는 방법

코드이다

import java.io.*; 

public class DebianChecker 
{ 
public static void main(String args[]) 
{ 
try 
{ 
Process p=Runtime.getRuntime().exec("cmd /c openssl s_client -connect 
gmail.com:443"); 
p.waitFor(); 
BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream())); 
String line=reader.readLine(); 
while(line!=null) 
{ 
System.out.println(line); 
line=reader.readLine(); 
} 

} 
catch(IOException e1) {} 
catch(InterruptedException e2) {} 

System.out.println("Done"); 
} 
} 

답변

0

시도) (라인 p.waitFor을 제거하는 단계;

waitFor() 프로세스가 종료 될 때까지 대기합니다. 그래서, 당신이 InputStream을 얻을 때쯤에, 프로세스는 이미 완료되었습니다.

+0

문제를 해결하지 못했습니다. – user1810868

관련 문제