code: public void abort() throws IOException, ServerException {
          // TODO: This might need to be reimplemented to support
          // sending out of bounds urgent TCP messages
          try {
              controlChannel.execute(Command.ABOR);
          } catch (FTPReplyParseException rpe) {
              throw ServerException.embedFTPReplyParseException(rpe);
          } catch (UnexpectedReplyCodeException urce) {
              throw ServerException.embedUnexpectedReplyCodeException(
                                  urce,
                                  "Server refused changing transfer mode");
          } finally {
              localServer.abort();
          }
      }
docs: Aborts the current transfer. FTPClient is not thread
  safe so be careful with using this procedure, which will
  typically happen in multi threaded environment.
  Especially during client-server two party transfer,
  calling abort() may result with exceptions being thrown in the thread
  that currently perform the transfer.