I'd also suggest doing a command line FTP connect and execute the change folder by hand to ensure that you are where you think you are when you connect - usually each login ID is assigned a particular folder location and you might not be where you think you are.
You also may not want to include the leading / in your cwd input parm. If you are trying to do a relative directory change folder then the leading / will be trying to change you to an absolute folder location from the top of the folder tree on the drive you are connecting to. (And I'm not sure about the earlier advice about VFS - it's got lots of capabilities, but isn't anywhere near as straight forward to work with if you're not a pretty experienced Java person, as is the case for me!) ~~~~~~~~~~~~~~~~~~~~~~~ Joe Magid Senior Developer ING - Annuity Manufacturing IT Production Support Office: (610) 425-3750 Cell: (610) 506-4595 [email protected] -----Original Message----- From: sebb [mailto:[email protected]] Sent: Tuesday, July 26, 2011 07:40 AM To: Commons Users List Subject: Re: [NET] Help with change directory On 25 July 2011 21:41, Diane Baumgartner <[email protected]> wrote: > I'm new to Apache Commons (3.0.1), and am writing a Java program to FTP a > file on my local server to an FTP server on the same network. First, please prefix the subject line with the Commons component; in this case [NET] as I have done in this reply. > First, I'd like to make sure that changeWorkingDirectory() changes the > directory on the remote machine. It's not clear from the documentation. The command corresponds with the standard FTP command CWD, which attempts to change the remote directory. > The first thing hat happens is that the "Change Directory didn't work" prints > out. but I don't know what went wrong. > So, I'm trying to use getReply() for more information, but my program hangs > on that line. I know this becuase the line before it prints, but not the > line after it. > > Here's a code snippet: > > FTPClient ftp = new FTPClient(); > ftp.connect (server); > > // status checking here - print statements indicate that connect was > successful > > boolean OK = ftp.changeWorkingDirectory ("/tmp/dir_name"); if {OK} { > System.out.println ("Change directory worked"); } else { > System.out.println ("Change directory didn't work"); > system.out.println ("The FTP Reply Code is"); > > reply = ftp.getReply(); // reply was defined as int before doing the > connect previous to this > System.out.println (Reply); > } > > Thanks for any help you can offer. getReply() is intended for low-level programming; it fetches the response from the server, so no wonder the code hangs. You need to use getReplyCode() and/or getReplyString(). Have a look at the FTPClientExample code. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------- NOTICE: The information contained in this electronic mail message is confidential and intended only for certain recipients. If you are not an intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication and any attachments is strictly prohibited. If you have received this communication in error, please notify the sender by reply transmission and delete the message without copying or disclosing it. ============================================================================================ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
