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传送到远程计算机。