1、测试类 Test.java
package com.ck.test03;
/**
* @ClassName Test
* @Description TODO
* @Author cheng
* Data 2019/8/7 18:07
* @Version 1.0
*/
public class Test {
public static void main(String[] args) {
//服务器IP
String dataServerIp =" ";
//服务器用户名
String dataServerUsername =" " ;
//服务器登录密码
String dataServerPassword =" " ;
//要下载的文件路径
String srcFile ="/home/ck/test.txt";
//保存路径
String saveFile="I:/test";
//端口号,null时为默认端口
int port= 22;
Down.downLoadFile(dataServerIp,dataServerUsername,dataServerPassword,srcFile,saveFile,port);
}
}
2、Down.java
package com.ck.test03;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ResourceBundle;
import java.util.zip.GZIPInputStream;
import org.apache.tools.tar.TarEntry;
import org.apache.tools.tar.TarInputStream;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.SCPClient;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
/**
* @ClassName Down
* @Description TODO
* @Author chengkuo
* Data 2019/8/7 18:05
* @Version 1.0
*/
public class Down {
/**
*
* @param dataServerIp 服务器IP
* @param dataServerUsername 服务器用户名
* @param dataServerPassword 服务器登录密码
* @param srcFile 要下载的文件路径
* @param saveFile 保存路径
* @param port 端口号,null时为默认端口
*/
public static void downLoadFile(String dataServerIp,String dataServerUsername,String dataServerPassword,String srcFile,String saveFile,int port){
Connection conn = new Connection(dataServerIp);
Session session = null;
SCPClient client =null;
//session=(Session) getObject(dataServerIp, dataServerUsername, dataServerPassword, 0, "session");
//client=(SCPClient) getObject(dataServerIp, dataServerUsername, dataServerPassword, 0, "client");
conn=getConn(dataServerIp, dataServerUsername, dataServerPassword, 22);
try {
session=conn.openSession();
client=conn.createSCPClient();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
boolean flag=download(srcFile, saveFile, session, client);
//如果是打包文件&#x