加快Apache Commons FTPClient传输

我正在使用Apache Commons FTPClient上传大文件,但是传输速度只是使用WinSCP通过FTP传输速度的一小部分。如何加快转移速度?

    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);

}

}

}

回答:

增加缓冲区大小:

client.setBufferSize(1024000);

以上是 加快Apache Commons FTPClient传输 的全部内容, 来源链接: utcz.com/qa/413452.html

回到顶部