On my last project, we had a requirement to send a file to an FTP server. We’ve all used FTP servers at some point in time. However, I never had to access an FTP via Java code. After a quick Google search, I came across the Jakarta Commons NET package. This package provides a collection of network related classes for FTP, Telnet, POP3, etc…
It didn’t take much work to add FTP support. I simply downloaded the JAR file from the Jakarta Commons NET website.
And then I dropped in this sample code:
package com.luv2code.ftp; import java.io.FileInputStream; import java.io.InputStream; import org.apache.commons.net.ftp.*; /** * * @author Chad Darby */ public class FtpUtils { public void send(String ftpServer, String userName, String password, String theFileName) { // connect to server FTPClient ftp = new FTPClient(); ftp.connect(server); if (!ftp.login(userName, password)) { ftp.logout(); } int reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); } // send a file InputStream input = new FileInputStream(theFileName); ftp.setFileType(ftp.BINARY_FILE_TYPE); boolean success = ftp.storeFile("temp.txt", input); // clean up input.close(); ftp.logout(); ftp.disconnect(); } }