JAVA

[java] JAVA 자바 레지스트리(registry, 에디터:regedit) 값 불러오기 관련

AlrepondTech 2012. 5. 18. 17:25
반응형

 

 

 

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

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

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

 

 

 

 

 

 

 

출처: http://202psj.tistory.com 

private static final String REGQUERY_UTIL  = "reg query ";
private static final String REGSTR_TOKEN   = "REG_SZ";
private static final String REGDWORD_TOKEN = "REG_DWORD";
//HKEY_CURRENT_USER\Software\202psj\DirPath Info  //만들 소프트웨어 개발 디렉토리 명이 202psj 일때

private static final String PERSONAL_FOLDER_CMD = REGQUERY_UTIL +
"\"HKCU\\Software\\202psj\\DirPath Info\" /v psjdir"; //psjdir 값을 가져온다.


public String getRegPath() //위에 값을 이용하여 레지값에 path 값을 가져온다.
{   
    String eMsg = "";
    String Path = "";
        
    try
    {
         Process process = Runtime.getRuntime().exec(PERSONAL_FOLDER_CMD);
         StreamReader reader = new StreamReader(process.getInputStream());
          
         reader.start();
         process.waitFor();
         reader.join();

         Path = "";
               
         Path = reader.getResult();
         int p = Path.indexOf(REGSTR_TOKEN);
         Path = Path.substring(p + REGSTR_TOKEN.length()).trim();
     }
     catch (Exception e)
     {
        eMsg = e.toString();
        System.out.println(eMsg);
     }

     return Path;
  }
    
    
    

 

자바버전별 위에 코드가 안된다면 아래코드처럼 해보면 해보다.

private static final String REGQUERY_UTIL  = "reg query ";
private static final String REGSTR_TOKEN   = "REG_SZ";
private static final String REGDWORD_TOKEN = "REG_DWORD";
//HKEY_CURRENT_USER\Software\202psj\DirPath Info  //만들 소프트웨어 개발 디렉토리 명이 202psj 일때

private static final String PERSONAL_FOLDER_CMD = REGQUERY_UTIL +
"\"HKCU\\Software\\202psj\\DirPath Info\" /v psjdir"; //psjdir 값을 가져온다.

public String getRegPath() //위에 값을 이용하여 레지값에 path 값을 가져온다.
{   
    String eMsg = "";
    String Path = "";
        
    try
    {
         List<String> args1 = new ArrayList<String>();
         args1.add (PERSONAL_FOLDER_CMD); // command name	
         ProcessBuilder pb = new ProcessBuilder (args1);
         Process process = pb.start();
         
         StreamReader reader = new StreamReader(process.getInputStream());
          
         reader.start();
         process.waitFor();
         reader.join();

         Path = "";
               
         Path = reader.getResult();
         int p = Path.indexOf(REGSTR_TOKEN);
         Path = Path.substring(p + REGSTR_TOKEN.length()).trim();
     }
     catch (Exception e)
     {
        eMsg = e.toString();
        System.out.println(eMsg);
     }

     return Path;
  }
    
    
    

 

이 2가지 불러오기 방식을 번갈아가며 테스트해보고 되는쪽을 선택하면 된다.

 

 

 

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

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

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

 

 

반응형