com.pixelmed.ftp

## Class FTPFileSender

- java.lang.Object
- - com.pixelmed.ftp.FTPFileSender

    public class FTPFileSender
    extends java.lang.Object

A class to send files via FTP or secure FTP over TLS.

### Field Summary

Fields
`protected static int` `socketConnectTimeoutInMilliSeconds`

### Constructor Summary

Constructors
Constructor and Description
`FTPFileSender(FTPRemoteHost remoteHost, java.lang.String[] files, boolean generateRandomRemoteFileNames, int debugLevel, MessageLogger logger, javax.swing.JProgressBar progressBar)` Construct an ftp connection to send a list of files to a remote server.
`FTPFileSender(java.lang.String server, java.lang.String username, java.lang.String password, java.lang.String remoteDirectory, java.lang.String[] files, boolean secure, boolean generateRandomRemoteFileNames, int debugLevel)` Construct an ftp connection to send a list of files to a remote server.
`FTPFileSender(java.lang.String server, java.lang.String username, java.lang.String password, java.lang.String remoteDirectory, java.lang.String[] files, boolean secure, boolean generateRandomRemoteFileNames, int debugLevel, MessageLogger logger, javax.swing.JProgressBar progressBar)` Construct an ftp connection to send a list of files to a remote server.

### Method Summary

Methods
`static void` `main(java.lang.String[] arg)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### socketConnectTimeoutInMilliSeconds

    protected static int socketConnectTimeoutInMilliSeconds

### Constructor Detail

#### FTPFileSender

    public FTPFileSender(FTPRemoteHost remoteHost,
                 java.lang.String[] files,
                 boolean generateRandomRemoteFileNames,
                 int debugLevel,
                 MessageLogger logger,
                 javax.swing.JProgressBar progressBar)
                  throws java.security.NoSuchAlgorithmException,
                         java.io.IOException,
                         java.lang.Exception

Construct an ftp connection to send a list of files to a remote server.

Sends a list of files to a single remote directory. Note that if the supplied local file names have the same base name (same name in different local directories) then they wil overwrite each other in the single remote directory; hence the option to generate random remote names.

Parameters:
  `remoteHost` - the characteristics of the remote host
  `files` - a String array of local filenames to send
  `generateRandomRemoteFileNames` - whether or not to generate random remote file names or to use the basename of the supplied local filename
  `debugLevel` - if greater than zero, debugging messages will be sent to stderr
  `logger` - where to send routine logging messages (may be null)
  `progressBar` - where to send progress updates (may be null)
Throws:
  `java.security.NoSuchAlgorithmException`
  `java.io.IOException`
  `java.lang.Exception`

#### FTPFileSender

    public FTPFileSender(java.lang.String server,
                 java.lang.String username,
                 java.lang.String password,
                 java.lang.String remoteDirectory,
                 java.lang.String[] files,
                 boolean secure,
                 boolean generateRandomRemoteFileNames,
                 int debugLevel)
                  throws java.security.NoSuchAlgorithmException,
                         java.io.IOException,
                         FTPException

Construct an ftp connection to send a list of files to a remote server.

Sends a list of files to a single remote directory. Note that if the supplied local file names have the same base name (same name in different local directories) then they wil overwrite each other in the single remote directory; hence the option to generate random remote names.

Parameters:
  `server` - the hostname or IP address of the server
  `username` - the username for login
  `password` - the password for login
  `remoteDirectory` - the remote directory to upload the files to (may be null if the root directory is to be used)
  `files` - a String array of local filenames to send
  `secure` - whether or not to use secure ftp over tls, or ordinary ftp
  `generateRandomRemoteFileNames` - whether or not to generate random remote file names or to use the basename of the supplied local filename
  `debugLevel` - if greater than zero, debugging messages will be sent to stderr
Throws:
  `java.security.NoSuchAlgorithmException`
  `java.io.IOException`
  `FTPException`

#### FTPFileSender

    public FTPFileSender(java.lang.String server,
                 java.lang.String username,
                 java.lang.String password,
                 java.lang.String remoteDirectory,
                 java.lang.String[] files,
                 boolean secure,
                 boolean generateRandomRemoteFileNames,
                 int debugLevel,
                 MessageLogger logger,
                 javax.swing.JProgressBar progressBar)
                  throws java.security.NoSuchAlgorithmException,
                         java.io.IOException,
                         FTPException

Construct an ftp connection to send a list of files to a remote server.

Sends a list of files to a single remote directory. Note that if the supplied local file names have the same base name (same name in different local directories) then they wil overwrite each other in the single remote directory; hence the option to generate random remote names.

Parameters:
  `server` - the hostname or IP address of the server
  `username` - the username for login
  `password` - the password for login
  `remoteDirectory` - the remote directory to upload the files to (may be null if the root directory is to be used)
  `files` - a String array of local filenames to send
  `secure` - whether or not to use secure ftp over tls, or ordinary ftp
  `generateRandomRemoteFileNames` - whether or not to generate random remote file names or to use the basename of the supplied local filename
  `debugLevel` - if greater than zero, debugging messages will be sent to stderr
  `logger` - where to send routine logging messages (may be null)
  `progressBar` - where to send progress updates (may be null)
Throws:
  `java.security.NoSuchAlgorithmException`
  `java.io.IOException`
  `FTPException`

### Method Detail

#### main

    public static void main(java.lang.String[] arg)