ftp加速传输java,加快Apache Commons FTPClient传输速度

I am using Apache Commons FTPClient to upload large files, but the transfer speed is only a fraction of transfer speed using WinSCP via FTP. How can I speed up my transfer?

public boolean upload(String host, String user, String password, String directory,

String sourcePath, String filename) throws IOException{

FTPClient client = new FTPClient();

FileInputStream fis = null;

try {

client.connect(host);

client.login(user, password);

client.setControlKeepAliveTimeout(500);

logger.info("Uploading " + sourcePath);

fis = new FileInputStream(sourcePath);

//

// Store file to server

//

client.changeWorkingDirectory(directory);

client.setFileType(FTP.BINARY_FILE_TYPE);

client.storeFile(filename, fis);

client.logout();

return true;

} catch (IOException e) {

logger.error( "Error uploading " + filename, e );

throw e;

} finally {

try {

if (fis != null) {

fis.close();

}

client.disconnect();

} catch (IOException e) {

logger.error("Error!", e);

}

}

}

解决方案

Increase the buffer size:

client.setBufferSize(1024000);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值