2014-12-22 4 views
0

글쎄, iText로 PDF 파일을 만들고, 항상 잘 만들어졌습니다. 하지만 이제는 생성 된 PDF 파일을 대화 상자로 설정하여 사용자가 원하는 위치에 저장하는 방법을 제공하고자합니다.JFileChooser를 통해 showSaveDialog에 파일을 설정하는 방법

내가 원하는 작업을 수행하기 위해 showSaveDialog를 사용해야한다고 생각하지만 원하는 파일을 선택하지 않고 일부 솔루션을 시도했지만 선택한 파일로 홈 폴더가있는 대화 상자가 표시되기 때문에 시도했습니다.

iText가 제대로 작동하므로 사용자가 원하는 곳에서 생성 된 PDF 파일을 저장하고 대화 상자를 통해 저장 한 후에 프로젝트 폴더에서 PDF 파일을 삭제하면됩니다.

이것은 현재 사용하고있는 코드입니다. 모든 JFileChooser를가하는

JFileChooser elegidor = new JFileChooser(); 
File f2 = new File("filePDF.pdf"); 

elegidor.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 

elegidor.showSaveDialog(null); 

답변

0

글쎄, 내 문제에 대한 해결책을 찾았습니다. 필자는 PDF 파일을 이동하여 공통 파일로 관리하고 작동합니다.

JFileChooser elegidor = new JFileChooser(); 
     File originalFile = new File(System.getProperty("user.dir"), "filePDF.pdf"); 

     elegidor.setCurrentDirectory(new File(System.getProperty("user.dir"))); 

     elegidor.setSelectedFile(originalFile); 

     elegidor.setFileSelectionMode(JFileChooser.FILES_ONLY); 

     int returnVal = elegidor.showSaveDialog(null); 
     File destinationFile = null; 
     if (returnVal == JFileChooser.APPROVE_OPTION) { 
      destinationFile = new File(elegidor.getSelectedFile().getAbsolutePath()); 

      if (!destinationFile.getAbsolutePath().equals(originalFile.getAbsolutePath())) { 
       InputStream in = new FileInputStream(originalFile); 

       OutputStream out = new FileOutputStream(destinationFile); 

       byte[] buf = new byte[1024]; 
       int len; 
       while ((len = in.read(buf)) > 0) { 
        out.write(buf, 0, len); 
       } 
       in.close(); 
       out.close(); 
      } 
     } 

     if (!destinationFile.getAbsolutePath().equals(originalFile.getAbsolutePath())) { 
      originalFile.delete(); 
     } 
0

File이 선택 될 수있는 대화 상자가 표시됩니다. 파일/디렉토리에 아무 것도 저장 /로드 할 수있는 기능이 없습니다 ... Apache Commons 라이브러리 및 FileUtils이 유용 할 수 있지만 직접 구현해야합니다.

+0

코드가 원하는대로 작동하는지 여기에서 묻지 않을 것입니다. 내가 만든 PDF 파일을 대화 상자로 설정하는 방법을 모르겠습니다. –