/* * Copyright 2012 jMethods, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.myjavaworld.ftp.examples; import java.io.File; import com.myjavaworld.ftp.ConnectionException; import com.myjavaworld.ftp.FTPClient; import com.myjavaworld.ftp.FTPConstants; import com.myjavaworld.ftp.FTPException; import com.myjavaworld.ftp.ListParser; import com.myjavaworld.ftp.RemoteFile; /** * This example demonstrates how to connect to an FTP site and upload a file to * the FTP server. * * @author Sai Pullabhotla, psai [at] jMethods [dot] com * @version 1.0 */ public class Upload { /** * @param args * command line arguments. * @throws InstantiationException * propogated * @throws ClassNotFoundException * propogated * @throws IllegalAccessException * propogated * @throws FTPException * propogated * @throws ConnectionException * propogated */ public static void main(String[] args) throws InstantiationException, ClassNotFoundException, IllegalAccessException, FTPException, ConnectionException { // Determine the FTPClient implementation that you would like to use. // For most FTP servers, the DefaultFTPClient should work. String className = "com.myjavaworld.ftp.DefaultFTPClient"; // Use reflection to find the class and obtain an instance of the class. FTPClient client = (FTPClient) Class.forName(className).newInstance(); // Determine the directory list parser that we would like to use in this // session. For most FTP servers, the default implementatiom should work // fine. ListParser parser = (ListParser) Class.forName( "com.myjavaworld.ftp.DefaultListParser").newInstance(); // Set the list parser to use with the FTP client. client.setListParser(parser); // Connect to the FTP server. System.out.println("Connecting..."); // Change the host name to one of your FTP servers in which you have // write permissions. client.connect("ftp.netscape.com"); System.out.println("Connected. "); // Login to the FTP server. System.out.println("Logging in..."); client.login("anonymous", "you@yourcompany.com"); System.out.println("Logged in. "); // Upload a file File source = new File("/Users/sai/temp/NSSetup.exe"); RemoteFile destination = parser.createRemoteFile( "/pub/netscape7/english/7.1/windows/win32/NSSetup.exe", false); System.out.println("Uploading: " + source); client.upload(source, destination, FTPConstants.TYPE_BINARY, false, 0L); System.out.println("Done. "); // Disconnect from the FTP server. System.out.println("Disconnecting..."); client.disconnect(); System.out.println("Disconnected. "); } }