2016-02-14 58 views
0

我正在使用javafx構建桌面應用程序,我正在使用ftp下載500 MB左右的文件。 我需要在進行下載時顯示進度條。 我還需要提供取消正在進行的下載過程的選項。如何在下載javafx時顯示進度條

這是我的代碼下載文件。

 try { 
      ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 
      success = ftpClient.changeWorkingDirectory(PATH + preset + "/" + file_to_download + offset); 
      System.out.println("Download Path:-" + PATH + preset + "/" + file_to_download + offset); 
      if (!success) { 
       System.out.println("Could not changed the directory to RIBS"); 
       return; 
      } else { 
       System.out.println("Directory changed to RIBS"); 
      } 
      FTPFile[] files = ftpClient.listFiles(); 
      for (FTPFile file : files) { 
       if (file.getName().contains(".zip")) { 
        dfile = file.getName(); 
       } 

      } 
      DirectoryChooser dirChooser = new DirectoryChooser(); 
      File chosenDir = dirChooser.showDialog(tableView.getScene().getWindow()); 
      System.out.println(chosenDir.getAbsolutePath()); 
      OutputStream output; 
      output = new FileOutputStream(chosenDir.getAbsolutePath() + "/" + dfile); 
      int timeOut = 500; 
      ftpClient.setConnectTimeout(timeOut); 
      if (ftpClient.retrieveFile(dfile, output) == true) { 
       downloadButton.setDisable(true); 
      } 
      output.close(); 

     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

回答