question: public void upload ( File file , long restartAt , FTPDataTransferListener listener ) throws IllegalStateException , FileNotFoundException , IOException , FTPIllegalReplyException , FTPException , FTPDataTransferException , FTPAbortedException { if ( ! file . exists ( ) ) { throw new FileNotFoundException ( file . getAbsolutePath ( ) ) ; } InputStream inputStream = null ; try { inputStream = new FileInputStream ( file ) ; } catch ( IOException e ) { throw new FTPDataTransferException ( e ) ; } try { upload ( file . getName ( ) , inputStream , restartAt , restartAt , listener ) ; } catch ( IllegalStateException e ) { throw e ; } catch ( IOException e ) { throw e ; } catch ( FTPIllegalReplyException e ) { throw e ; } catch ( FTPException e ) { throw e ; } catch ( FTPDataTransferException e ) { throw e ; } catch ( FTPAbortedException e ) { throw e ; } finally { if ( inputStream != null ) { try { inputStream . close ( ) ; } catch ( Throwable t ) { ; } } } }
target:  This method uploads a file to the remote server. Calling this method blocks the current thread until the operation is completed. The operation could be interrupted by another thread calling abortCurrentDataTransfer(). The method will break with a FTPAbortedException.