2013-11-04 3 views
0

pdf 파일을 표시해야하는 상황에서 소프트웨어를 만들고 있습니다. 내 프로젝트 폴더에 pdf 파일을 저장했습니다. 소프트웨어는 완벽하게 잘 실행됩니다.jar 폴더에서 pdf 파일을 열 때 오류가 발생했습니다.

하지만 내가 정리하고 프로젝트를 빌드하고 나서 jar exe 파일을 실행하면 pdf 파일이 열리지 않습니다.

몇 가지 실험을 한 후 SRC 폴더에 내 pdf 파일을 포함시킨 다음 프로젝트를 정리하고 빌드하십시오. 내가 발견 한 차이점은 이제 jar 파일의 크기가 더 크다는 것입니다 (모든 pdf 파일의 합계와 같습니다). 이번에는 작동 할 것이라고 생각했습니다. 그러나 그것은 작동하지 않았다.

다음 실험을 한 후에 Dist 폴더에 모든 파일을 포함 시켰습니다.

다음 jar 파일은 pdf 파일을 열 수 있습니다 :) 나는 단지 jar 파일을 만들고 프로젝트 폴더의 모든 pdf 파일을 하나의 jar 파일로 보는 것만으로도 만족스럽지 만 만족스럽지 않았습니다. 무의미한, 어쨌든 나는 내 jar 파일이 저장된 폴더에있는 PDF 파일을 복사하지 않고 jar 파일 만 사용하여 pdf 파일을 열 수 있습니다. 이것은 "aleemullah resume"이라는 파일을 여는 데 사용한 코드입니다.

try{ 
    Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "aleemullah resume.pdf"); 
} 
catch (Exception e) { 
     JOptionPane.showMessageDialog(null, "Error"); 
} 

답변

1

현재 작업 디렉토리 (즉, 프로그램이 실행되는 폴더)에서 PDF 파일을 읽는 것 같습니다. 이러한 논리에 따라 파일 이름이 아닌 전체 경로를 입력하여 어디서나 저장된 PDF를 열 수 있어야합니다. 예를 들어 :

String filePath = "C:\Users\you\Desktop\aleemullah resume.pdf" 
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + filePath); 

변경하면 PDF 파일을 저장하는 곳으로 filePath 변수입니다.

런타임 중에 사용자가 PDF를 선택할 수 있도록하려면 JFileChooser을 사용하여 파일을 선택하는 것이 좋습니다. Java에서 PDF 파일을 선택하고 경로를 검색하는 대화 상자를 여는 방법은 this example을 확인하십시오.

관련 문제