2016-07-03 2 views
0

을 통해 cmd 클래스를 실행 안녕하세요, 저는 실제로 프로젝트에서 작업 중이며 새로운 명령 프롬프트에서 클래스를 실행해야하지만 자바를 사용해야합니다. 그래서 특정 클래스 클래스에서, 나는 새 클래스 프롬프트에서 센서 클래스를 호출하는 올바른 코드를 작성해야한다. 새 명령 프롬프트를 여는 코드 줄이 있지만 해당 명령 프롬프트에서 Sensor 클래스를 실행하는 방법은 무엇입니까?자바 코드

String[] command =(new String[]{"cmd", "/k", "start", "cmd" , "\""}); 
    Runtime.getRuntime().exec(command); 

아무 도움이됩니다.

+0

에서 발생하는 경우

오류를 얻으려면 다음과 같이 cmd를하면서 지금 당신은 파일의 출력을 얻을 수 있나요? – timothyclifford

+0

@timothyclifford 조금 복잡하지만 다음과 같은 것 : (완전하지는 않습니다.) public class Sensor {public static void main (String [] args) IOException, JSONException을 던집니다 { do {// 서버가 REST POST 요청을 A SERVER REST// 응답을받습니다. Sensor.simulation (type, idnumber); // 센서 센서를 활성화합니다 .Sensor.tokenManagement (prevPort, nextId, nextPort); // TOKEN 관리} System.out.println ("센서를 삭제하려면 종료를 누르십시오"); { // 서버에서 요청 삭제} // 서버에서 응답, {System.exit (1);} –

+0

[cmd/c를 이해하려면 [null을 반환하는 명령 프롬프트에서 출력]] (http://stackoverflow.com/questions/38113931/)을 참조하십시오. cmd.exe/K' 또는 위의 다른 변형을 시작합니다.'cmd/k start cmd'는 많은 Java 프로그래머가 여기서 무슨 일이 일어날 지 모르는 것처럼 보입니다. – Mofi

답변

0

: 사전에 덕분에
는 자바 파일을 컴파일하기 위해 전달 된 명령이 cmd를 엽니이 코드
을 시도하고 실행합니다.

String command="cmd /c \""+drive+" && cd "+fileParentDrive+" && javac "+javaFileName+"\""; 
Process child = Runtime.getRuntime().exec(command); 

Process 클래스의 참조를 반환합니다 클래스 파일

command="cmd.exe /k start cmd.exe /k \""+drive+" && java "+classFileName+"\""; 
child = Runtime.getRuntime().exec(command , null , new File(drive+ parent)); 

방법 Runtime.getRuntime().exec(command)를 실행합니다. 에 실행 당신이 우리에게 당신의 센서 클래스를 보여 주시겠습니까 컴파일 시간

InputStream in = child.getErrorStream(); 
int i; 
String error=""; 
while((i=in.read())!=-1) 
{ 
    error+=(char)i; 
}