2013-01-14 4 views
1

cmd 대신 echo %path%의 출력을 Java에서 인쇄하려고합니다.Java에서 echo 명령 실행

나는 다음과 같은 코드가 있습니다

C : I 출력이로 시작하는 cmd에서 echo %path%를 실행하면

private void getPath() throws IOException { 
    String getPath = "cmd.exe /C echo %path%"; 
    Runtime rt = Runtime.getRuntime(); 
    Process proc = rt.exec(getPath); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
    String commandOutput = ""; 
    while (commandOutput != null) { 
     commandOutput = reader.readLine(); 
     System.out.println(commandOutput); 
    } 
} 

오라클 \ Ora11 \ 빈 \; C : 오라클 \ Ora10 \ \ 빈; C : \ 프로그램 파일 \ 공용

그러나 Java 프로그램의 출력은 시작 :

,

C :/프로그램 파일/자바/jre7/빈/클라이언트; C :/프로그램 파일/자바/jre7/빈; C :/프로그램 파일/자바/jre7/lib 디렉토리/I386에게

이 줄 뒤에 만 나머지 출력이 비슷합니다.

왜 이런 일이 발생합니까?

답변

1

아마도 IDE (예 : Eclipse)에서 테스트를 실행하고있을 것입니다. 명령 줄에서도 같은 방법을 시도해보십시오. BTW에는 Java에서 환경 변수를 인쇄하는 다른 방법이 있습니다.

System.out.println(System.getenv("PATH")); 
+0

사실, 저는 Eclipse에서 실행하고 있습니다.하지만 질문에 언급했듯이 명령 줄이 아니라 Eclipse에서 실행하고 싶습니다. – Maroun

+0

맞아,하지만이게 이클립스가 아니고 Java에 JRE를 추가 한 사람이다. –

+0

고마워. 이것을 막을 수있는 방법이 있습니까? – Maroun

3

Java%path%에 고유 한 경로를 추가합니다. 다른 건 없어.

+0

실제로. 나는 그것을 고마워하지 않았다 :) 감사합니다. – Maroun