java ftp上传文件慢的解决方案

 FTPClient ftp = new FTPClient(); 
 ftp.connect("172.16.2.5", 21);  
 ftp.login("aaa", "aaaa");        
 ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
 ftp.changeWorkingDirectory("C:\\FtpPublic");
 InputStream input = new ByteArrayInputStream(bytes);  
 ftp.storeFile(filename,input);

  这是优化之前的代码 ,上传几百kb的文件都需要20秒,感觉特别慢,最后在网上查了相关的资料,尝试着对代码进行了优化,

 主要是增加了  ftp.setBufferSize(1024*1024); 增大缓存区

  其次是因为是网络流  将输入流 加上BufferedInputStream         BufferedInputStream input = new BufferedInputStream( new ByteArrayInputStream(bytes));


 FTPClient ftp = new FTPClient(); 
 ftp.connect("172.16.2.5", 21);  
 ftp.login("aaa", "aaaa");        
 ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
 ftp.setBufferSize(1024*1024);
 ftp.changeWorkingDirectory("C:\\FtpPublic");
 BufferedInputStream input = new BufferedInputStream(new ByteArrayInputStream(bytes)); 
 ftp.storeFile(filename,input);

修改后感觉上传速度飞快,这是本人亲自实践的!!!


你可能感兴趣的:(java,ftp上传文件慢的解决方案)