Open In App

How to get a list of files from the FTPserver?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

As know FTP is a reliable protocol used for transferring files over the Internet. Though it is not a secure protocol, and all the data is transmitted in clear text. But it is reliable enough protocol and send the data from a sender to receiver over Internet.
The code talks about getting the names of the all the files you wish to read from on a FTP server using the following process:

  • In Java, we will use the FTPClient object to read files from FTP server. The class, ‘org.apache.commons.net.ftp.FTPClient’, needs to be imported to create an instance of FTPClient.
  • The connect() method is called for the FTPClient object, with the URL as the parameter, to establish a connection with.
  • Using the login() method send the credentials – user-name and password. For correct credentials and a successful login, true is returned which allows user to access files on the server.
  • After the successful login, use the listNames() method to fetch the names of all the files in the current working directory. The list returned will be an array which can be iterated over to read the names.
  • Since the login was a success, it requires a logout() after the reading of filenames has been done. Lastly, the disconnect() method is called to end the relation with the connected FTP server.




// Java code to illustrate
// How to get a list of files from the FTPserver
import java.io.IOException;
  
import org.apache.commons.net.ftp.FTPClient;
  
public class MyFTPClass {
    public static void main(String args[])
    {
  
        // Create an instance of FTPClient
        FTPClient ftp = new FTPClient();
        try {
            // Establish a connection with the FTP URL
            ftp.connect("ftp.test.com");
            // Enter user details : user name and password
            boolean isSuccess = ftp.login("user", "password");
  
            if (isSuccess) {
                // Fetch the list of names of the files. In case of no files an
                // empty array is returned
                String[] filesFTP = ftp.listNames();
                int count = 1;
                // Iterate on the returned list to obtain name of each file
                for (String file : filesFTP) {
                    System.out.println("File " + count + " :" + file);
                    count++;
                }
            }
  
            ftp.logout();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        finally {
            try {
                ftp.disconnect();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}




Last Updated : 11 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads