| src/main/java/org/springblade/modules/FTP/FtpMain.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/FTP/FtpUploadFile.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/FTP/FtpUtil.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/FTP/MysqlCenlint.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/FTP/OutJson.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/FTP/monitor.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/information/controller/InformationController.java | ●●●●● patch | view | raw | blame | history |
src/main/java/org/springblade/modules/FTP/FtpMain.java
File was renamed from src/main/java/org/springblade/common/utils/FtpMain.java @@ -1,4 +1,4 @@ package org.springblade.common.utils; package org.springblade.modules.FTP; import java.io.FileNotFoundException; src/main/java/org/springblade/modules/FTP/FtpUploadFile.java
File was renamed from src/main/java/org/springblade/common/utils/FtpUploadFile.java @@ -1,4 +1,4 @@ package org.springblade.common.utils; package org.springblade.modules.FTP; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; src/main/java/org/springblade/modules/FTP/FtpUtil.java
File was renamed from src/main/java/org/springblade/common/utils/FtpUtil.java @@ -1,4 +1,4 @@ package org.springblade.common.utils; package org.springblade.modules.FTP; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -11,13 +11,16 @@ /** * ftp工具类 * * @author lijj */ public class FtpUtil { private final static Log logger = LogFactory.getLog(FtpUtil.class); /** 本地字符编码 */ /** * 本地字符编码 */ private static String LOCAL_CHARSET = "GBK"; // FTP协议里面,规定文件名编码为iso-8859-1 @@ -26,18 +29,10 @@ /** * 获取FTPClient对象 * * @param ftpHost * FTP主机服务器 * * @param ftpPassword * FTP 登录密码 * * @param ftpUserName * FTP登录用户名 * * @param ftpPort * FTP端口 默认为21 * * @param ftpHost FTP主机服务器 * @param ftpPassword FTP 登录密码 * @param ftpUserName FTP登录用户名 * @param ftpPort FTP端口 默认为21 * @return */ public static FTPClient getFTPClient(String ftpHost, int ftpPort, String ftpUserName, String ftpPassword) { @@ -65,19 +60,13 @@ /** * 从FTP服务器下载文件 * * @param ftpHost FTP IP地址 * * @param ftpHost FTP IP地址 * @param ftpUserName FTP 用户名 * * @param ftpPassword FTP用户名密码 * * @param ftpPort FTP端口 * * @param ftpPath FTP服务器中文件所在路径 格式: ftptest/aa * * @param localPath 下载到本地的位置 格式:H:/download * * @param fileName 文件名称 * @param ftpPort FTP端口 * @param ftpPath FTP服务器中文件所在路径 格式: ftptest/aa * @param localPath 下载到本地的位置 格式:H:/download * @param fileName 文件名称 */ public static void downloadFtpFile(String ftpHost, String ftpUserName, String ftpPassword, int ftpPort, String ftpPath, String localPath, String fileName) { @@ -101,16 +90,16 @@ InputStream retrieveFileStream = ftpClient.retrieveFileStream(fileNameTemp); // 第一种方式下载文件(推荐) //File localFile = new File(localPath + File.separatorChar + fileName); //OutputStream os = new FileOutputStream(localFile); //ftpClient.retrieveFile(fileName, os); os.close(); //File localFile = new File(localPath + File.separatorChar + fileName); //OutputStream os = new FileOutputStream(localFile); //ftpClient.retrieveFile(fileName, os); os.close(); // 第二种方式下载:将输入流转成字节,再生成文件,这种方式方便将字节数组直接返回给前台jsp页面 byte[] input2byte = input2byte(retrieveFileStream); byte2File(input2byte, localPath, fileName); if(null != retrieveFileStream){ if (null != retrieveFileStream) { retrieveFileStream.close(); } } catch (FileNotFoundException e) { @@ -181,7 +170,7 @@ return result; } if(null != input){ if (null != input) { input.close(); } @@ -293,4 +282,5 @@ } } } } src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
File was renamed from src/main/java/org/springblade/common/utils/MysqlCenlint.java @@ -1,4 +1,4 @@ package org.springblade.common.utils; package org.springblade.modules.FTP; import java.io.File; src/main/java/org/springblade/modules/FTP/OutJson.java
File was renamed from src/main/java/org/springblade/common/utils/OutJson.java @@ -1,4 +1,4 @@ package org.springblade.common.utils; package org.springblade.modules.FTP; import java.io.*; @@ -135,7 +135,6 @@ } return result.toString(); } /** * 删除文件 * @param str @@ -185,5 +184,4 @@ } return localStrBulider.toString(); } } src/main/java/org/springblade/modules/FTP/monitor.java
New file @@ -0,0 +1,117 @@ package org.springblade.modules.FTP; import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; import java.io.InputStream; @Component public class monitor { //ftp服务器IP地址 private static String ftpHost = "192.168.0.105"; //ftp服务器端口 private static int ftpPort = 21; //ftp服务器用户名 private static String ftpUserName = "yly"; //ftp服务器密码 private static String ftpPassword = "Yly@123"; //ftp服务器路径 private static String ftpPath = "anbao/sql.json"; @Scheduled(cron = "*/5 * * * * ?") public static boolean isFTPFileExist() { FTPClient ftp = new FTPClient(); try { // 连接ftp服务器 ftp.connect(ftpHost, ftpPort); // 登陆 ftp.login(ftpUserName, ftpPassword); // 检验登陆操作的返回码是否正确 if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) { ftp.disconnect(); return false; } ftp.enterLocalActiveMode(); // 设置文件类型为二进制,与ASCII有区别 ftp.setFileType(FTP.BINARY_FILE_TYPE); // 设置编码格式 ftp.setControlEncoding("GBK"); // 提取绝对地址的目录以及文件名 ftpPath = ftpPath.replace("ftp://" + ftpHost + ":" + ftpPort + "/", ""); String dir = ftpPath.substring(0, ftpPath.lastIndexOf("/")); String file = ftpPath.substring(ftpPath.lastIndexOf("/") + 1); // 进入文件所在目录,注意编码格式,以能够正确识别中文目录 ftp.changeWorkingDirectory(new String(dir.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING)); // 检验文件是否存在 InputStream is = ftp.retrieveFileStream(new String(file.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING)); if (is == null || ftp.getReplyCode() == FTPReply.FILE_UNAVAILABLE) { System.out.println(false); return false; } if (is != null) { System.out.println(true); is.close(); ftp.completePendingCommand(); } return true; } catch (Exception e) { e.printStackTrace(); } finally { if (ftp != null) { try { ftp.disconnect(); } catch (IOException e) { e.printStackTrace(); } } } return false; } } src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -24,39 +24,27 @@ import org.springblade.common.cache.DictCache; import org.springblade.common.enums.DictEnum; import org.springblade.common.utils.FtpUtil; import org.springblade.common.utils.MysqlCenlint; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.Func; import org.springblade.modules.desk.entity.Notice; import org.springblade.modules.desk.vo.NoticeVO; import org.springblade.modules.desk.wrapper.NoticeWrapper; import org.springblade.modules.jurisdiction.service.JurisdictionService; import org.springblade.modules.jurisdiction.vo.JurisdictionVO; import org.springblade.modules.member.service.IMemberService; import org.springblade.modules.shareholder.service.IShareholderService; import org.springblade.modules.system.entity.Dept; import org.springblade.modules.system.service.IDeptService; import org.springblade.modules.system.service.IUserDeptService; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.modules.information.entity.Information; import org.springblade.modules.information.vo.InformationVO; import org.springblade.modules.information.service.IInformationService; import org.springblade.core.boot.ctrl.BladeController; import springfox.documentation.annotations.ApiIgnore; import java.sql.*; import java.sql.DriverManager; //需要这个jar包 mysql-connector-java-5.1.49.jar import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; import java.io.*; import java.util.*; import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;