想写个数据监测的工具,监测数据的流转过程是否有丢失的情况,有个数据来源是SFTP上的文件,需要统计他的文件个数和每个文件下的行数。
用java自带的java.IO.工具试了一下不行。数据流是空的。搞了老半天才找到问题,并解决掉。在此给大家分享一下。可能我的视线流程复杂了。
首先创建并初始化sftp对象。这里我给封装了个工具:
public class SftpUtil {
private FTPSClient ftp;
private String ftpHost;
private int ftpPort;
private String ftpUser;
private String ftpPassword;
public SftpUtil(String ftpHost, int ftpPort, String ftpUser, String ftpPassword){
this.ftpHost = ftpHost;
this.ftpPort = ftpPort;
this.ftpUser = ftpUser;
this.ftpPassword = ftpPassword;
}
public void login(){
try {
System.setProperty("jdk.tls.useExtendedMasterSecret", "false");
ftp = new SSLSessionReuseFTPClient();
// // Connect to host
ftp.connect(ftpHost, 21);
int reply = ftp.getReplyCode();
if (FTPReply.isPositiveCo