使用FTPClient检索文件所需的时间至少比使用lftp获取文件长4倍。
我做错了什么?这是我的设置
client.connect(Address);
client.login(Login, Pass);
//client.setConnectTimeout(keepAliveTime);
//client.setControlKeepAliveTimeout(keepAliveTime);
//client.setControlKeepAliveReplyTimeout(keepAliveTime);
//client.setBufferSize(1024*1024*10);
//client.enterLocalPassiveMode(); //any profit?
client.changeWorkingDirectory(ftpDirectory);
client.setFileType(FTP.BINARY_FILE_TYPE);
client.retrieveFile(filename,new FileOutputStream(filepath));
编辑: 我尝试使用FTPClient#retrieveFileStream(String filename)方法,文件下载速度与'lftp'一样快,但程序会挂起在completePendingCommand()上,这是必要的。
编辑2:Ftp4j库的速度是commons-net的两倍,但仍然比我的连接速度慢一半。
真的没有好的java ftp库吗?