upload file to FTP

hi All,
         i'm trying to upload a file to FTP server. but i'm not able to upload and could not any err message. please verify mycode and help me

strucking at this line        
OutputStream os= cconn.openUploadStream(targetfile); // STRUCKING HERE

IF not can u plz some links code snippets for upload to FTP

FTPupload.java
=======================
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
 
 
public class FTPupload {
    protected FTPclientConn cconn;
    public final String localfile;
    public final String targetfile;
 
    public FTPupload(String _host, String _user, String _password,
         String _localfile, String _targetfile) {
  cconn= new FTPclientConn(_host, _user, _password);
  localfile= _localfile;
  targetfile= _targetfile;
  doit();
    }
    public FTPupload(String _host, String _user, String _password, String _file) {
  cconn= new FTPclientConn(_host, _user, _password);
  localfile= _file;
  targetfile= _file;
  doit();
    }
 
    protected void doit() {
  try {
 
       OutputStream os= cconn.openUploadStream(targetfile); // STRUCKING HERE
 
       FileInputStream is=  new FileInputStream(localfile);
      byte[] buf= new byte[16384];
      int c;
      while (true) {
    //System.out.print(".");
    c= is.read(buf);
    if (c<= 0)  break;
    //System.out.print("[");
    os.write(buf, 0, c);
    //System.out.print("]");
      }
      os.close();
      is.close();
      cconn.close(); // section 3.2.5 of RFC1738
  } catch (Exception E) {
      System.err.println(E.getMessage());
      E.printStackTrace();
  }
    }
 
    public static void main(String args[]) {
  // Usage: FTPupload host, user, password, file
//  new FTPupload(args[0], args[1], args[2], args[3]);
     new FTPupload("xxx.xx.xx.xx:21","UN","PWD","C:\\Test.txt","Upload\\test.txt");  	
    }
 
}
 
 
 
 
 
 
FTPClientConn.java
================================
 
import java.io.*;
import java.net.*;
 
 
class FTPclientConn {
    public final String host;
    public final String user;
    protected final String password;
    protected URLConnection urlc;
 
    public FTPclientConn(String _host, String _user, String _password) {
  host= _host;  user= _user;  password= _password;
  urlc = null;
    }
    protected URL makeURL(String targetfile) throws MalformedURLException  {
  if (user== null)
      return new URL("ftp://"+ host+ "/"+ targetfile+ ";type=i");
  else
      return new URL("ftp://"+ user+ ":"+ password+ "@"+ host+ "/"+ targetfile+ ";type=i");
    }
 
    protected InputStream openDownloadStream(String targetfile) throws Exception {
  URL url= makeURL(targetfile);
  urlc = url.openConnection();
  InputStream is = urlc.getInputStream();
  return is;
    }
 
    protected OutputStream openUploadStream(String targetfile) throws Exception {
  URL url= makeURL(targetfile);
  urlc = url.openConnection();
  OutputStream os = urlc.getOutputStream();
  return os;
    }
 
    protected void close() {
  urlc= null;
    }
}

Open in new window

websynAsked:
Who is Participating?
 
objectsCommented:
>      new FTPupload("xxx.xx.xx.xx:21","UN","PWD","C:\\Test.txt","Upload\\test.txt");    


try:

     new FTPupload("xxx.xx.xx.xx:21","UN","PWD","C:\\Test.txt","Upload/test.txt");    

0
 
ChristoferDutzCommented:
If this is not part of a homework or something similar, why reinvent the wheel?

Thry this allready finished FTP Client for java from the apache guys:
http://commons.apache.org/net/
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
objectsCommented:
commons net provides a nicer ftp client if you're interested

http://commons.apache.org/net/

0
 
websynAuthor Commented:
getting this err
java.io.FileNotFoundException: CWD devt2009: 550 devt2009: The system cannot find the file specified.
0
 
objectsCommented:
check your paths are correct and the required directory exists

0
 
websynAuthor Commented:
Path is correct and able to upload from my FTP client but not thru program
0
 
objectsCommented:
same user and relative path?

whats the devt2009 directory it is referring to?

0
 
objectsCommented:
acually thats an absolute path you are using

0
 
ChristoferDutzCommented:
I think your approach is not going to lead you to the result you want.
I couldn't find any of the FTP protocol communication. All you do, is to connect to a certain host and port and then sent all the data ...

The URLConnection does only the simplest of the simple processing. I doubt it implements the FTP protocol specified here: http://www.ietf.org/rfc/rfc959.txt

Here is a link on best practices regarding Java and FTP. They state your current approach only works in some conditions and is propably going to fail in most cases:
http://www.nsftools.com/tips/JavaFtp.htm
0
 
websynAuthor Commented:
@Objects
for absolute n relative paths getting same err.
0
 
websynAuthor Commented:
Can anyone Please give the working sample
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.