From 98d5bcff9769b6757c155ba73541d1930fbc4f8a Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期四, 28 三月 2024 11:25:34 +0800
Subject: [PATCH] 经过最近多次调试,实际测试. 改用common.net插件进行远程备份,消除大文件备份中断问题

---
 src/main/java/com/whyc/service/FtpService.java |  168 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 86 insertions(+), 82 deletions(-)

diff --git a/src/main/java/com/whyc/service/FtpService.java b/src/main/java/com/whyc/service/FtpService.java
index 1fe8578..75abbb6 100644
--- a/src/main/java/com/whyc/service/FtpService.java
+++ b/src/main/java/com/whyc/service/FtpService.java
@@ -1,82 +1,86 @@
-package com.whyc.service;
-
-import com.enterprisedt.net.ftp.FTPException;
-import com.whyc.constant.YamlProperties;
-import com.whyc.dto.FileDirPath;
-import com.whyc.dto.FtpHelper;
-import com.whyc.dto.ZipUtils;
-import com.whyc.util.ActionUtil;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Service;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.text.ParseException;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-@ConditionalOnProperty(prefix = "configFile",name = "type",havingValue = "2")
-@Service
-@EnableScheduling   // 2.寮�鍚畾鏃朵换鍔�
-public class FtpService {
-    //瀹氭椂涓婁紶鎸囧畾鐩綍涓嬫枃浠�,姣忓懆浜斿噷鏅ㄥ紑鍚浠�
-    @Scheduled(cron = "59 59 23 ? * FRI")
-    //@Scheduled(cron = "0 29 15 * * ?")
-    public void sendFtpFile() throws IOException, FTPException, ParseException {
-        //鍏堣繛鎺tp鏈嶅姟鍣�
-        FtpHelper ftpRemote = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword);
-        String fileDirName = FileDirPath.getFileDirName();
-        String rootDoc=fileDirName+File.separator+"doc_file";
-        String timeStr= ActionUtil.sdfwithFTP.format(new Date());
-        ftpRemote.mkdir(timeStr);
-        //澶囦唤杩囩▼鏄惁鍑虹幇杩囬棶棰�,鏍囪瘑绗�
-        boolean isError=false;
-        try {
-
-            File docFile = new File(rootDoc);
-            File[] fileList = docFile.listFiles();
-            //File[] fileList2 = new File[fileList.length];
-            //BeanUtils.copyProperties(fileList2,fileList);
-            for (File file:fileList) {
-                //鍘嬬缉浼犺緭
-                File fileZip = new File(file.getAbsolutePath() + ".zip");
-                ZipUtils.toZip(file.getAbsolutePath(),new FileOutputStream(fileZip),true);
-                //System.out.println(fileZip.toString()+"鍘嬬缉瀹屾瘯");
-                //System.out.println("杩涜FTP浼犺緭涓�...");
-                try {
-                    //ZipUtils.toZip(file.getAbsolutePath(),new FileOutputStream(fileZip),true);
-                    String pathName=timeStr+"/"+file.getName()+".zip";
-                    //System.out.println("浼犺緭鐩爣璺緞纭涓�:"+pathName);
-                    ftpRemote.uploadFile2(fileZip, pathName);
-                    //System.out.println(fileZip+"浼犺緭瀹屾瘯");
-                    fileZip.delete();
-                    //System.out.println(fileZip+"浼犺緭涓浆鍘嬬缉鍖呭垹闄ゅ畬姣�");
-                } catch (Exception e) {
-                    isError = true;
-                    e.printStackTrace();
-                    fileZip.delete();
-                }
-            }
-            //System.out.println("浼犺緭瀹屾瘯");
-
-            //鑾峰彇澶囦唤鐩綍,淇濈暀4娆�.
-            //濡傛灉杩囩▼鍑虹幇閿欒,鍒欎笉鍒犻櫎
-            if (!isError) {
-                String[] dirList = ftpRemote.getDirList();
-                List<String> dirList2 = Arrays.asList(dirList);
-
-                for (int i = 0; i < dirList2.size()-4; i++) {
-                    ftpRemote.deleteDir(dirList2.get(i));
-                }
-            }
-        } catch (Exception e) {
-
-        }finally {
-            ftpRemote.disconnect();
-        }
-    }
-}
+//package com.whyc.service;
+//
+//import com.enterprisedt.net.ftp.FTPException;
+//import com.whyc.constant.YamlProperties;
+//import com.whyc.dto.FileDirPath;
+//import com.whyc.dto.FtpHelper;
+//import com.whyc.dto.ZipUtils;
+//import com.whyc.util.ActionUtil;
+//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+//import org.springframework.scheduling.annotation.EnableScheduling;
+//import org.springframework.scheduling.annotation.Scheduled;
+//import org.springframework.stereotype.Service;
+//
+//import java.io.File;
+//import java.io.FileOutputStream;
+//import java.io.IOException;
+//import java.text.ParseException;
+//import java.util.Arrays;
+//import java.util.Date;
+//import java.util.List;
+//
+//@ConditionalOnProperty(prefix = "configFile",name = "type",havingValue = "2")
+//@Service
+//@EnableScheduling   // 2.寮�鍚畾鏃朵换鍔�
+//public class FtpService {
+//    //瀹氭椂涓婁紶鎸囧畾鐩綍涓嬫枃浠�,姣忓懆浜斿噷鏅ㄥ紑鍚浠�
+//    //@Scheduled(cron = "59 59 23 ? * FRI")
+//    @Scheduled(cron = "0 30 8 * * ?")
+//    public void sendFtpFile() throws IOException, FTPException, ParseException {
+//        //鍏堣繛鎺tp鏈嶅姟鍣�
+//        FtpHelper ftpRemote = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword);
+//        String fileDirName = FileDirPath.getFileDirName();
+//        String rootDoc=fileDirName+File.separator+"doc_file";
+//        String timeStr= ActionUtil.sdfwithFTP.format(new Date());
+//        ftpRemote.mkdir(timeStr);
+//        ftpRemote.disconnect();
+//        //澶囦唤杩囩▼鏄惁鍑虹幇杩囬棶棰�,鏍囪瘑绗�
+//        boolean isError=false;
+//        try {
+//
+//            File docFile = new File(rootDoc);
+//            File[] fileList = docFile.listFiles();
+//            //File[] fileList2 = new File[fileList.length];
+//            //BeanUtils.copyProperties(fileList2,fileList);
+//            for (File file:fileList) {
+//                FtpHelper ftpTemp = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword);
+//                //鍘嬬缉浼犺緭
+//                File fileZip = new File(file.getAbsolutePath() + ".zip");
+//                ZipUtils.toZip(file.getAbsolutePath(),new FileOutputStream(fileZip),true);
+//                //System.out.println(fileZip.toString()+"鍘嬬缉瀹屾瘯");
+//                //System.out.println("杩涜FTP浼犺緭涓�...");
+//                try {
+//                    //ZipUtils.toZip(file.getAbsolutePath(),new FileOutputStream(fileZip),true);
+//                    String pathName=timeStr+"/"+file.getName()+".zip";
+//                    //System.out.println("浼犺緭鐩爣璺緞纭涓�:"+pathName);
+//                    ftpTemp.uploadFile2(fileZip, pathName);
+//                    //System.out.println(fileZip+"浼犺緭瀹屾瘯");
+//                    fileZip.delete();
+//                    //System.out.println(fileZip+"浼犺緭涓浆鍘嬬缉鍖呭垹闄ゅ畬姣�");
+//                } catch (Exception e) {
+//                    isError = true;
+//                    e.printStackTrace();
+//                    fileZip.delete();
+//                }finally {
+//                    ftpTemp.disconnect();
+//                }
+//            }
+//            //System.out.println("浼犺緭瀹屾瘯");
+//
+//            //鑾峰彇澶囦唤鐩綍,淇濈暀4娆�.
+//            //濡傛灉杩囩▼鍑虹幇閿欒,鍒欎笉鍒犻櫎
+//            if (!isError) {
+//                FtpHelper ftpTemp = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword);
+//                String[] dirList = ftpRemote.getDirList();
+//                List<String> dirList2 = Arrays.asList(dirList);
+//
+//                for (int i = 0; i < dirList2.size()-4; i++) {
+//                    ftpTemp.deleteDir(dirList2.get(i));
+//                }
+//                ftpTemp.disconnect();
+//            }
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//    }
+//}

--
Gitblit v1.9.1