使用commons-net 的 ftp上传一个100K的文件要20几秒,
使用FTP工具,两秒就搞定了,速度怎么这么慢?
解决方案 »
- js问题
- 搭配Eclipse+MyEclipse的开发环境的问题??
- 关于HSQL查询总记录
- 麻烦前辈们帮我看看这段代码哪里有误呢?
- 新手初学Hibernate
- tomcat5.5.12如何启动servlet重新载入功能和启动root上下文
- axis+tomcat开发web services的配置问题
- JBoss3.2+Tomcat下配置Mysql数据源
- 又一个初学者的困惑!如果您是个大虾,请你一定要进来看看,指点迷津!如果您也是个初学者,那么您也一定要进来,也许我们有一样的遭遇!
- 项目要求char型主键!该怎么下手
- 为什么SpringMVC的jsp页面放在WEB-INF下,求解。
- EL表达式中Map集合取值
boolean flag = false;
try {
// can execute [OutputStream storeFileStream(String remote)]
// Above method return's value is the local file stream.
ftpClient.setDataTimeout(TIMEOUT);
ftpClient.setSoTimeout(TIMEOUT);
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
flag = ftpClient.storeFile(newName, iStream);
} catch (Exception e) {
flag = false;
return flag;
} finally {
if (iStream != null) {
iStream.close();
}
}
return flag;
}
需要20几秒
FTPClient client = new FTPClient();
client.connect("。。");
client.login("。。");
long t1 = System.currentTimeMillis();
client.storeFile("A.exe", new BufferedInputStream(new FileInputStream("a.exe")));
long t2 = System.currentTimeMillis();
System.out.println("Time:" + (t2 - t1));
client.quit();
都是打印3000左右,20M的文件
这个方法花费最多时间。天啊!!,谁来救救我啊
FTPClient client = new FTPClient();
client.conect(ip, port);
client.login(username, password);
//主要是这句代码进行设置缓冲大小,这样的话就比原来快很多了
client.setBufferSize(100000);