Administrator
2022-06-16 2ebca060a47784db76369a4aa84f63293da9be33
src/main/java/org/springblade/modules/FTP/Monitor.java
@@ -9,6 +9,8 @@
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import static org.springblade.common.config.FtpConfig.*;
@@ -16,13 +18,12 @@
@Component
public class Monitor {
   @Scheduled(cron = "*/1 * * * * ?")
//   @Scheduled(cron = "*/5 * * * * ?")
   public static boolean isFTPFileExist() {
      FTPClient ftp = new FTPClient();
      String fileName = null;
      try {
         ftp.connect(ftpHost, ftpPort);
         // 登陆
@@ -33,6 +34,8 @@
            ftp.disconnect();
            return false;
         }
         System.out.println("ftp 连接成功!时间: "+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
         //被动模式,文件上传不成功会有提示
         ftp.enterLocalActiveMode();
@@ -47,13 +50,13 @@
         ftp.changeWorkingDirectory(ftpPath);
         FTPFile[] files = ftp.listFiles();
         if (files.length == 0) {
            return false;
            ftp.disconnect();
         } else {
            for (FTPFile file : files) {
                fileName = file.getName();
               fileName = file.getName();
               InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
               if (null == is) {
                  return false;
                  ftp.disconnect();
               } else {
                  String substring1 = fileName.substring(0, 1);
                  //把文件下载到本地
@@ -124,16 +127,16 @@
                     //删除 ftp 文件
                     FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                  }
                  else if(substring1.equals("f")){
                     //把文件下载到本地(图片文件类),测试内外网使用同一台服务器
                     FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, minioPath, fileName);
                     FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                  }
//                  else {
//                     //把文件下载到本地(图片文件类),ftp 内外网服务器分开时使用
//                  else if(substring1.equals("f")){
//                     //把文件下载到本地(图片文件类),测试内外网使用同一台服务器
//                     FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, minioPath, fileName);
//                     FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
//                  }
                  else {
                     //把文件下载到本地(图片文件类),ftp 内外网服务器分开时使用
                     FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, minioPath, fileName);
                     FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
                  }
                  //删除本地文件,ftp 文件没有对应读取的不删除
                  MysqlCenlint.deletess(fileName);
                  is.close();
@@ -142,17 +145,17 @@
            }
            return true;
         }
      } catch (Exception e) {
         MysqlCenlint.deletess(fileName);
         FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
         e.printStackTrace();
      } finally {
         if (ftp != null) {
         //如果ftp 没有关闭,则关闭ftp
         if (ftp.isConnected()) {
            try {
               ftp.disconnect();
            } catch (IOException e) {
               e.printStackTrace();
            } catch (IOException io) {
               io.printStackTrace();
            }
         }
      }