title: File upload in Java through FTP
body: <p>Im trying to develop a simple java code which will upload some contents from local machine to a server/another machine.I used the below code</p>
  
  <pre><code>import sun.net.ftp.*;
  import java.io.*;
  
  public class SftpUpload {
   public static void main(String args[]) {
     String hostname = "some.remote.machine"; //Remote FTP server: Change this
     String username = "user"; //Remote user name: Change this
     String password = "start123"; //Remote user password: Change this
     String upfile = args[0]; //File to upload passed on command line
     String remdir = "/home/user"; //Remote directory for file upload
     FtpClient ftp = new FtpClient();
     try {
        ftp.openServer(hostname); //Connect to FTP server
        ftp.login(username, password); //Login
        ftp.binary(); //Set to binary mode transfer
        ftp.cd(remdir); //Change to remote directory
        File file = new File(upfile);
        OutputStream out = ftp.put(file.getName()); //Start upload
        InputStream in = new FileInputStream(file);
        byte c[] = new byte[4096];
        int read = 0;
        while ((read = in.read(c)) != -1 ) {
           out.write(c, 0, read);
        } //Upload finished
        in.close();
        out.close();
        ftp.closeServer(); //Close connection
     } catch (Exception e) {
        System.out.println("Error: " + e.getMessage());
     }
   }
  }
  </code></pre>
  
  <p>But it is showing error in Line 11 as 'Cannot instantiate the type FtpClient'.
  Can some one help me how to rectify it.</p>