2014-07-09 3 views
1

다음 코드를 사용하여 프로그램 내에서 URI를 열려고합니다. 사용자에게 URL을 쉽게 표시하고 브라우저에 붙여 넣을 것을 권장 할 수 있지만 작업량을 줄이려합니다.메일을 보내지 못했거나 IOException을 찾아 보지 못했습니다.

Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; 

URI uri = null; 
try { 
    uri = new URI(ProgramName.currentProject.saveFilePath + "/file.html"); 
} catch (URISyntaxException ex) { 
    ex.printStackTrace(); 
} 

if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) { 
    try { 
     desktop.browse(uri); 
    } catch (IOException ioe) { 
     ioe.printStackTrace(); 
    } 
} else { 
    //attempt workaround 
} 

왜 작동하지 않는 것인지 잘 모르겠습니다. 다음과 같은 예외가 발생합니다 :

java.io.IOException: Failed to mail or browse /Users/myname/ProgramName/SaveFiles/Guillotine/file.html. Error code: -10814 

그러나 왜 또는 어떻게 수정해야할지 모르겠습니다.

답변

0

마음에 듭니다, 답을 찾았습니다.

나는 파일 경로만으로 URI를 만들 수 있다고 생각했는데, 작동하기 전에 경로 앞에 file:///을 추가해야한다는 것을 깨닫지 못했습니다.

다른 사람이 동일한 명백한 실수를 저지르기를 바라며 이것을 남겨 둡니다.

+1

'file.toURI()'를 사용하여 파일이 실제로 존재하는지 먼저 확인할 수도 있습니다. – PeterT