Java连接ftp服务器实例代码
废话不多说了,直接给大家贴java代码了。
importjava.io.IOException; importsun.net.TelnetInputStream; importsun.net.ftp.FtpClient; publicclassMyFtp{ staticFtpClientmyFtp; staticStringhostname; staticStringusername; staticStringpassword; /** *@authorcutelion2005110814:27 *@paramargs */ publicstaticvoidmain(String[]args){ try{ hostname="203.171.236.123"; myFtp=newFtpClient(hostname); myFtp.login("user","pass"); myFtp.binary(); showFileContents(); }catch(IOExceptione1){ System.out.print(e1); } } publicstaticvoidshowFileContents(){ intch; StringBufferbuf=newStringBuffer(); try{ TelnetInputStreaminStream=myFtp.list(); while((ch=inStream.read())>=0){ buf.append((char)ch); } System.out.print(newString(buf.toString().getBytes("iso-8859-1"), "GBK")); inStream.close(); myFtp.closeServer(); }catch(Exceptione){ System.out.println("Error"+e); } } } [@more@]
下面是FtpClient类所提供的一些控制命令。
publicvoidcd(StringremoteDirectory)
该命令用于把远程系统上的目录切换到参数remoteDirectory所指定的目录。
publicvoidcdUp():该命令用于把远程系统上的目录切换到上一级目录。
publicStringpwd():该命令可显示远程系统上的目录状态。
publicvoidbinary():该命令可把传输格式设置为二进制格式。
publicvoidascii():该命令可把传输协议设置为ASCII码格式。
publicvoidrename(Stringstring,Stringstring1)
该命令可对远程系统上的目录或者文件进行重命名操作。
除了上述方法外,类FtpClient还提供了可用于传递并检索目录清单和文件的若干方法。这些方法返回的是可供读或写的输入、输出流。下面是其中一些主要的方法。
publicTelnetInputStreamlist()
返回与远程机器上当前目录相对应的输入流。
publicTelnetInputStreamget(Stringfilename)
获取远程机器上的文件filename,借助TelnetInputStream把该文件传送到本地。
publicTelnetOutputStreamput(Stringfilename)
以写方式打开一输出流,通过这一输出流把文件filename传送到远程计算机。