The FTPClient class provides the following three methods for requesting system type, system status and file/directory status:

    • String getSystemType(): returns system type of the currently connected FTP server.
      • Example:
        String systemType = ftpClient.getSystemType();
        System.out.println(systemType); 
      • Sample output:
        UNIX Type: L8

         

    • String getStatus(): gets system status information returned from the FTP server.
      • Example:
        String systemStatus = ftpClient.getStatus();
        System.out.println(systemStatus); 
      • Sample output:
        211 http://www.pureftpd.org/

         

    • String getStatus(String pathname): gets status of a given pathname on the server which results in a Unix-style file/directory listing.
      • Example:
        String dirPath = "/Upload";
        System.out.println(ftpClient.getStatus(dirPath)); 
      • Sample output:
        213-STAT
        drwxr-xr-x    5 tom      tom            4096 Apr 16 23:02 .
        drwxr-xr-x   17 tom      tom            4096 Aug  5 07:01 ..
        drwxr-xr-x    4 tom      tom            4096 Mar 14 22:51 Java
        drwxr-xr-x    4 tom      tom            4096 Mar 14 22:51 PHP
        213 End.

         

The following is code of an example program that connects to a FTP server then queries system type, system status, directory status and file status:

package net.codejava.ftp;

import java.io.IOException;

import org.apache.commons.net.ftp.FTPClient;

/**
 * This program demonstrates how to query status information from a FTP server.
 * @author www.codejava.net
 *
 */
public class FTPStatusDemo {

	public static void main(String[] args) {
		String server = "www.myserver.com";
		int port = 21;
		String user = "username";
		String pass = "password";

		FTPClient ftpClient = new FTPClient();

		try {
			ftpClient.connect(server, port);

			ftpClient.login(user, pass);

			System.out.println("SYSTEM TYPE:\n " + ftpClient.getSystemType());

			System.out.println("SYSTEM STATUS:\n " + ftpClient.getStatus());

			System.out.println("DIRECTORY STATUS:\n " + ftpClient.getStatus("/HNS"));

			System.out.println("FILE STATUS:\n " + ftpClient.getStatus("/Test/PIC4.JPG"));

			ftpClient.logout();

			ftpClient.disconnect();

		} catch (IOException ex) {
			ex.printStackTrace();
		} finally {
			if (ftpClient.isConnected()) {
				try {
					ftpClient.disconnect();
				} catch (IOException ex) {
					ex.printStackTrace();
				}
			}
		}
	}
}

Sample output of the above program:

SYSTEM TYPE:
 UNIX Type: L8
SYSTEM STATUS:
 211 http://www.pureftpd.org/

DIRECTORY STATUS:
 213-STAT
drwxr-xr-x    8 tom      tom            4096 Oct 24  2012 .
drwxr-xr-x   17 tom      tom            4096 Aug  5 07:01 ..
drwxr-xr-x    2 tom      tom            4096 Jul 28 04:46 Blog
drwxr-xr-x    2 tom      tom            4096 Aug  5 00:18 Forum
drwxr-xr-x    3 tom      tom            4096 Oct  3  2012 Freelance
drwxr-xr-x    5 tom      tom            4096 Jul 28 04:50 Projects
drwxr-xr-x   21 tom      tom            4096 Jul 28 07:34 Website
drwxr-xr-x    3 tom      tom            4096 Sep 12  2012 Writing
213 End.

FILE STATUS:
 213-STAT
-rw-r--r--    1 tom      tom         2641068 Jul 26 23:42 /Test/PIC4.JPG
213 End.

 

Other Java FTP Tutorials:


About the Author:

is certified Java programmer (SCJP and SCWCD). He began programming with Java back in the days of Java 1.4 and has been passionate about it ever since. You can connect with him on Facebook and watch his Java videos on YouTube.



Attachments:
Download this file (FTPStatusDemo.java)FTPStatusDemo.java[Demo program]1 kB

Add comment