+++ /dev/null
-package jalview.ftp;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.SocketException;
-
-import org.apache.commons.net.ftp.FTPClient;
-import org.apache.commons.net.ftp.FTPFile;
-
-public class FtpClient
-{
-
- public static boolean authenticateUser(FTPClient ftpClient,
- String username, String password)
- {
- boolean loggedIn = false;
-
- try
- {
- loggedIn = ftpClient.login(username, password);
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- disconectFTP(ftpClient);
-
- return loggedIn;
- }
-
- public static FTPClient getFtpClient(String serverHost)
- {
- FTPClient ftpClient = new FTPClient();
- try
- {
- ftpClient.connect(serverHost);
- } catch (SocketException e)
- {
- e.printStackTrace();
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- return ftpClient;
- }
-
- public static void disconectFTP(FTPClient ftpClient)
- {
- try
- {
- if (ftpClient.isConnected())
- {
- ftpClient.logout();
- ftpClient.disconnect();
- }
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- }
-
- public static void listDirectory(FTPClient ftpClient, String parentDir,
- String currentDir, int level) throws IOException
- {
- String dirToList = parentDir;
- if (!currentDir.equals(""))
- {
- dirToList += "/" + currentDir;
- }
- FTPFile[] subFiles = ftpClient.listFiles(dirToList);
- if (subFiles != null && subFiles.length > 0)
- {
- for (FTPFile aFile : subFiles)
- {
- String currentFileName = aFile.getName();
- if (currentFileName.equals(".") || currentFileName.equals(".."))
- {
- // skip parent directory and directory itself
- continue;
- }
- for (int i = 0; i < level; i++)
- {
- System.out.print("\t");
- }
- if (aFile.isDirectory())
- {
- System.out.println("[" + currentFileName + "]");
- listDirectory(ftpClient, dirToList, currentFileName, level + 1);
- }
- else
- {
- System.out.println(currentFileName);
- }
- }
- }
- }
-
- public static boolean downloadFile(FTPClient client, String remoteFile,
- String local)
- {
- boolean success = false;
- File downloadFile = new File(local);
- OutputStream outputStream = null;
- try
- {
- outputStream = new BufferedOutputStream(new FileOutputStream(
- downloadFile));
-
- success = client.retrieveFile(remoteFile, outputStream);
- } catch (IOException e)
- {
- e.printStackTrace();
- } finally
- {
- try
- {
- if (outputStream != null)
- {
- outputStream.close();
- }
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- if (success)
- {
- System.out.println(remoteFile + " has been downloaded successfully.");
- }
- return success;
- }
-}