JAVA

[java] 자바 외부 프로그램 실행하기(실행경로에 맞추어 정확히)

AlrepondTech 2011. 1. 19. 14:45
반응형

 

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

 

//이것은 레지스토리에서 설치경로를 얻는 방법
//레지에서 설정한 경로를 가져올때 요긴하게 쓰인다.

    private static final String REGQUERY_UTIL = "reg query ";
    private static final String REGSTR_TOKEN = "REG_SZ";
    private static final String REGDWORD_TOKEN = "REG_DWORD";

 private static final String PERSONAL_FOLDER_CMD = REGQUERY_UTIL +
      "\"HKCU\\Software\\blizzd\\English\\DirPath Info\" /v oropath";

private void OnProgramRun() {


      

  //정확한 경로 지정을 위해   "ProcessBuilder" 를 사용한다.

        ProcessBuilder process = new ProcessBuilder();
        Map<String, String> environment = process.environment();
        process.redirectErrorStream(true);
      
      

//지정 경로를 설정한다.

        process.directory(new File("C:\\Program Files (x86)\\blizzd\\"));
        environment.put("name", "var");
     

//지정경로 부분에서 실행할 파일을 설정한다.

        process.command("C:\\Program Files (x86)\\blizzd\\UpCheck.exe");
   
        //process.
       
       
        try {

// 설정한 객체를 실행(start()) 시켜주면 된다.

           
            Process p = process.start();
            BufferedReader output = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line;
            while ((line = output.readLine()) != null)
              System.out.println(line);

            // The process should be done now, but wait to be sure.
            try {
                p.waitFor();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
           
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
      
    }

 

 

 

=================================

=================================

=================================

 

 

반응형