//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 { // //先连接ftp服务器 // 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 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(); // } // } //}