2012-10-15 2 views
0

Windows 레지스트리에 새 항목을 추가하고 싶습니다. 나는 다음과 같은 코드를 사용하고 있습니다 :Java - 레지스트리 추가로 공간이 부족합니다.

String start_cmd = JAVABIN + " -jar " + outputJar.getAbsolutePath(); 

ProcessBuilder pb = new ProcessBuilder(new String[]{"REG", "ADD", REGENTRY, "/v", "Vodemki_app", "/d", "\"" + start_cmd + "\"", "/f"}); 
pb.start(); 

그래서 REGENTRY 내 등록 경로입니다 (예 : start_cmd 내 jar 파일을 시작하는 명령입니다 HKEY_LOCAL_MACHINE\\SOFTWARE\\... 내 절대 경로가 어떤 공간을 포함하지 않는 경우 그것은 잘 작동합니다... 하지만 C:\\Vodemki\\Desktop\\My Folder\\jarfile.jar 같은 경로를 사용하면 모든 것이 잘못됩니다.

내 질문은 : 내 코드를 사용하여 공백이있는 경로를 사용하는 방법이 있습니까? \"my path\"을 사용하는 것이 가능하다는 것을 알고 있지만 할 수있는 방법이 있습니다. 그 값을 이스케이프 인용 부호 (예 : \"java -jar \"my path with spaces\" \")?

감사합니다.

답변

0

해결책은 간단합니다. \s으로 공백 문자를 대체하십시오. 감사합니다.

관련 문제