前言
项目中需要从一台服务器调取其他Linux服务器上的文件,并上传到其他服务器接口中;用的是通过文件流上传;
主要是用的: session.execCommand(str) 和session.getStdout() 来获取读取到的文件流;
开始一直读取不到文件的实际大小,一直是0字节;
后来在两个方法之间加了休眠,但实际运行中,还有部分文件没有获取到实际大小,还是0字节;
再后来又优化了一下,应该是都读取成功了。
如果读取的文件过大、或者网络不好,建议加大休眠时间试试。
一、依赖
com.trilead
trilead-ssh2
1.0.0-build222
二、代码
/**
* 获取conn
* @param ip
* @param port
* @param user
* @param pwd
* @return
*/
private static Connection getConn(String ip, int port, String user, String pwd) {
Connection conn = new Connection(ip, port);
if(conn.isAuthenticationComplete()) {
return conn;
}
try {
conn.connect();
boolean isAuthenticat