
This method is useful when we want to measure progress of the download, i.e. The second method requires more code to be written, as we have to create a new OutputStream for writing file’s content while reading its byte arrays from the returned InputStream.The first method provides the simplest way for downloading a remote file, as just passing an OutputStream of the file will be written on disk.Which method is used suitable for you? Here are few tips: We must close the InputStream explicitly.The method completePendingCommand() must be called afterward to finalize file transfer and check its return value to verify if the download is actually done successfully.But there are two important points when using this method: This method gives us more control on how to read and write the data. InputStream retrieveFileStream(String remote): This method does not use an OutputStream, instead it returns an InputStreamwhich we can use to read bytes from the remote file.

We should close OutputStream the after the method returns. This method is suitable in case we don’t care how the file is written to disk, just let the system use the given OutputStream to write the file. The method returns true if operation completed successfully, or false otherwise. boolean retrieveFile(String remote, OutputStream local): This method retrieves a remote file whose path is specified by the parameter remote, and writes it to the OutputStream specified by the parameter local.Apache Commons Net API for downloading files by FTP protocol The .ftp.FTPClient class provides two methods for downloading files from a FTP server:

