| pom.xml | ●●●●● patch | view | raw | blame | history | |
| 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/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 |
pom.xml
@@ -224,6 +224,16 @@ <groupId>org.testng</groupId> <artifactId>testng</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.12.1</version> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.1</version> </dependency> </dependencies> <build> src/main/java/org/springblade/modules/FTP/FtpMain.java
@@ -22,7 +22,7 @@ //下载 //将ftp根目录下的文件下载至E盘 FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName); //FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName); //上传 //将E盘的文件上传至ftp根目录 src/main/java/org/springblade/modules/FTP/FtpUploadFile.java
File was deleted src/main/java/org/springblade/modules/FTP/MysqlCenlint.java
@@ -99,8 +99,8 @@ /** * 删除本地文件 */ public static void delete(){ File file = new File("D:\\anbao\\sql.json"); public static void deletes(String fileName){ File file = new File("D:\\"+fileName); if (file.isFile() && file.exists()) { file.delete(); } src/main/java/org/springblade/modules/FTP/OutJson.java
@@ -151,8 +151,46 @@ * 读取json文件并解析 * @return */ public static String TestJson(){ File file = new File("D:\\anbao\\nsql.json"); public static String TestJson(String fileName){ File file = new File("D:\\"+fileName); StringBuilder localStrBulider = new StringBuilder(); if(file.isFile() && file.exists()) { try { InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file), "utf-8"); BufferedReader bufferReader = new BufferedReader(inputStreamReader); String lineStr = null; try { while((lineStr = bufferReader.readLine()) != null) { localStrBulider.append(lineStr); } bufferReader.close(); inputStreamReader.close(); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("file read error!"); e.printStackTrace(); } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block System.out.println("file catch unsupported encoding!"); e.printStackTrace(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block System.out.println("file not found!"); e.printStackTrace(); } }else { System.out.println("file is not a file or file is not existing!"); } return localStrBulider.toString(); } /** * 读取json文件并解析 * @return */ public static String TestJsons(String urls){ File file = new File(urls); StringBuilder localStrBulider = new StringBuilder(); if(file.isFile() && file.exists()) { try { src/main/java/org/springblade/modules/FTP/monitor.java
@@ -2,6 +2,7 @@ import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -20,11 +21,11 @@ //ftp服务器密码 private static String ftpPassword = "Yly@123"; //ftp服务器路径 private static String ftpPath = "anbao/nsql.json"; private static String ftpPath = "anbao/"; //本地路径 private static String localPath = "D:\\anbao"; //文件名 private static String fileName = "nsql.json"; //private static String fileName = "nsql.json"; @Scheduled(cron = "*/30 * * * * ?") @@ -64,30 +65,27 @@ // 提取绝对地址的目录以及文件名 ftpPath = ftpPath.replace("ftp://" + ftpHost + ":" + ftpPort + "/", ""); //ftpPath = ftpPath.replace("ftp://" + ftpHost + ":" + ftpPort + "/", ""); String dir = ftpPath.substring(0, ftpPath.lastIndexOf("/")); //String dir = ftpPath.substring(0, ftpPath.lastIndexOf("/")); String file = ftpPath.substring(ftpPath.lastIndexOf("/") + 1); // file = ftpPath.substring(ftpPath.lastIndexOf("/") + 1); // 进入文件所在目录,注意编码格式,以能够正确识别中文目录 ftp.changeWorkingDirectory(new String(dir.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING)); //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) { FTPFile[] files = ftp.listFiles(); if (files.length==0){ return false; } if (is != null) { for (FTPFile file : files){ String fileName = file.getName(); //把文件下载到本地 FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName); // String s = OutJson.TestJson(); String s = OutJson.TestJson(fileName); //sql语句 String sql = OutJson.stringReplace(s); String[] split = sql.split(";");//以逗号分割 @@ -109,14 +107,53 @@ } } //删除本地文件 MysqlCenlint.delete(); FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "nsql.json"); is.close(); MysqlCenlint.deletes(fileName); FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName); //is.close(); ftp.completePendingCommand(); return true; } return true; //InputStream is = ftp.retrieveFileStream(new String(file.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING)); // if (is == null || ftp.getReplyCode() == FTPReply.FILE_UNAVAILABLE) { // return false; // // } // // if (is != null) { // //把文件下载到本地 // FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName); // // // String s = OutJson.TestJson(); // //sql语句 // String sql = OutJson.stringReplace(s); // String[] split = sql.split(";");//以逗号分割 // for (String sqls : split) { // //判断是否是新增,删除,修改 // String substring = sqls.substring(0, 2); // //新增 // if (substring.equals("in")) { // //运行sql语句 // MysqlCenlint.inster(sqls); // } // //修改 // else if (substring.equals("up")) { // MysqlCenlint.update(sqls); // } // //删除 // else { // MysqlCenlint.delete(sqls); // } // } // //删除本地文件 // MysqlCenlint.delete(); // FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "nsql.json"); // is.close(); // ftp.completePendingCommand(); // // } } catch (Exception e) { src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -45,6 +45,7 @@ import javax.validation.Valid; import java.io.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; @@ -72,8 +73,6 @@ private static String ftpPassword = "Yly@123"; //本地路径 private static String localPath = "D:\\anbao"; //文件名 private static String fileName = "wsql.json"; private final IInformationService informationService; private final IDeptService iDeptService; @@ -200,9 +199,17 @@ + "'" + dept.getTenantId() + "'" + "," + "'" + information.getEnterprisename() + "'" + "," + "'" + dept.getAncestors() + "'" + "," + "'" + dept.getDeptCategory() + "'" + ")"; Object o = s; String json = JSON.toJSONString(o); OutJson.createJsonFile(json, "d:/", "wsql"); FileInputStream in = new FileInputStream(new File("D:\\" + fileName)); FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", fileName, in); long l = System.currentTimeMillis(); //new日期对 Date date = new Date(l); //转换提日期输出格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(dateFormat.format(date)); String response = dateFormat.format(date).replaceAll("[[\\s-:punct:]]", ""); OutJson.createJsonFile(json, "d:/", "w"+response); FileInputStream in = new FileInputStream(new File("D:\\" + "w"+response+".json")); FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", "/", "w"+response+".json", in); return R.success("成功"); } @@ -321,4 +328,31 @@ } public static void main(String[] args) { // File file = new File("D:\\anbao"); // if (file.exists()) { // File[] files = file.listFiles(); // if (null == files || files.length == 0) { // System.out.println("文件夹是空的!"); // return; // } else { // for (File file2 : files) { // if (file2.isDirectory()) { // System.out.println("文件夹:" + file2.getAbsolutePath()); // } else { // System.out.println("文件:" + file2.getAbsolutePath()); // String urls = file2.getAbsolutePath(); // String s = OutJson.TestJsons(urls); // //sql语句 // String sql = OutJson.stringReplace(s); // System.out.println(sql); // } // } // } // } else { // System.out.println("文件不存在!"); // } } }