2009-05-10 5 views
1

Java 코드로 프로그램을 호출하는 가장 간단한 방법은 무엇입니까? (실행하고자하는 프로그램은 aiSee이며 명령 행이나 Windows GUI에서 실행될 수 있으며 Vista에 있지만 코드는 Linux 시스템에서 실행됩니다).Java 코드 내에서 프로그램 실행

답변

7

ProcessRuntime 클래스를 살펴보십시오. 성취하려고하는 것은 아마도 플랫폼에 독립적이지 않다는 것을 명심하십시오. S.O.에서

public class YourClass 
{ 
    public static void main(String args[]) 
     throws Exception 
    { 
     Runtime rt = Runtime.getRuntime(); 
     Process proc = rt.exec("name_of_your_application.exe"); 
     int exitVal = proc.exitValue(); 
     System.out.println("Process exitValue: " + exitVal); 
    } 
} 

One 질문 : 여기

도움이 될 수있는 코드의 작은 조각 비슷한 문제를 논의합니다. Another 하나. And 다른 하나.

+0

감사합니다. 네 말이 맞아요. 아마도 플랫폼 독립적 일 수는 없습니다 (두 시스템이 아마 다른 장소에 프로그램을 가지고 있기 때문입니다). 내가 그걸 생각하고 있었어? –

0

어려운 점은 응용 프로그램에 경로를 알리는 방법입니다. 당신은 XML 또는 설정 파일을 사용할 수 있습니다,하지만 당신은이 링크를 사용하는 경우,이 파일을 실행하는 방법을 설명한다 : http://www.javacoffeebreak.com/faq/faq0030.html

+0

네이선 (Nathan)이 제안한대로 명령 줄 인수로 전달했을 것입니다. 어색하지만,해야 할 것입니다. –

1

당신은 Runtime.getRuntime()를 사용하여 런타임 인스턴스를 얻을 수와 함께 런타임의 exec 메소드를 호출 명령을 사용하여 프로그램을 인수로 실행하십시오. 예를 들어

:

Runtime runTime = Runtime.getRuntime();  
Process proc = rt.exec("iSee.exe"); 

또한 공정에서의 InputStream을 받고 사용하여 프로그램의 출력을 캡처 할 수 있습니다.

+0

좋습니다, 감사합니다. 그래도 출력이 그래픽 (aiSee GDL 설명의 그래프를 표시합니다) 이후로 나는 더 이상 처리하지 않을 것입니다; 하지만 그 옵션이 있다는 것을 아는 것은 좋은 일입니다. –

0

실행하려는 특정 프로그램을 쉽게 찾을 수 있도록 프로그램에 어떤 종류의 인수를 전달할 수도 있습니다.

명령 줄 인수, 속성 파일 또는 시스템 속성을 사용할 수 있습니다.

관련 문제