Get all file size on FTP Server
In this section we are going to describe how to get size of FTP server files using java.
Get File size :
FTPClient class does not provide any direct method to find the size of file. So we will use another way to list the file size. FTPFile class provide you method getSize() to get the size of the current file.
FTPFile class handles files stored on FTP server. It shows you different information about the files.
long getSize() : This method returns size of file in bytes. Its return type is long.
Example :
In this example, we are listing all files and their size. For that first list all files and store it in FTPFile array. Now iterate and check if it is file by usinf method isFile() then get its name using method getName()(as file.getName()) and get its size using method getSize() (as file.getSize()).
Here is complete source code -
import java.io.IOException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPConnectionClosedException; import org.apache.commons.net.ftp.FTPFile; class FtpFileSize { public static void main(String[] args) throws IOException { FTPClient client = new FTPClient(); boolean result; try { client.connect("localhost"); result = client.login("admin", "admin"); if (result == true) { System.out.println("User successfully logged in."); } else { System.out.println("Login failed!"); return; } FTPFile[] files = client.listFiles(); System.out.println("Files and their size on Ftp Server : "); for (FTPFile file : files) { if (file.isFile()) { System.out.print("File name : " + file.getName()); System.out.print("\t size : " + file.getSize()+" Bytes"); System.out.println(); } } } catch (FTPConnectionClosedException e) { System.out.println(e); } finally { try { client.disconnect(); } catch (FTPConnectionClosedException e) { System.out.println(e); } } } }
Output :
User successfully logged in. Files and their size on Ftp Server : File name : ApacheServer.shtml size : 1823 Bytes File name : FtpDownloadFile.shtml size : 2623 Bytes File name : FtpFileTransfer.shtml size : 3312 Bytes File name : FtpTest.txt size : 462 Bytes File name : newFtp.txt size : 21 Bytes