网上看了蛮多java做ftp下载的,有看到很多都是用
ftpClient=new FtpClient();这样初始化,然后使用ftpClient.openserver(host)和ftpClient.login(id,pwd)这样的方法连接服务器,但是我做的时候看了一下FtpClient是没有这两个方法的,这是为啥呢,jdk的版本的关系么?
我的是jdk1.7.0_17。
添加的也是正确的import sun.net.ftp.FtpClient;这个
jdk1.7下其构造函数FtpClient()被定义为private类型,所以无法new了。 在jdk1.7,已经换成了 FtpClient.create(ip)方法.
同时,其他的一些方法也基本都改掉了,
如 ftpClient.openServer(server);
ftpClient.login(user, password);
就可以换成:ftpClient.login(user, null, password);
ftpClient.binary(); ---> ftpClient.setBinaryType();
ftpClient.put(remotefilename);--->ftpClient.putFileStream(remotefilename, true);
等。
同时,其他的一些方法也基本都改掉了,
如 ftpClient.openServer(server);
ftpClient.login(user, password);
就可以换成:ftpClient.login(user, null, password);
ftpClient.binary(); ---> ftpClient.setBinaryType();
ftpClient.put(remotefilename);--->ftpClient.putFileStream(remotefilename, true);
等。
温馨提示:答案为网友推荐,仅供参考