智慧保安后台管理-外网
Administrator
2022-06-07 8b409ad6e9f941d6ec192b8673ed759b0584f02f
ftp 文件无法删除问题
2 files modified
31 ■■■■■ changed files
src/main/java/org/springblade/modules/FTP/Monitor.java 27 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/quartz/task/Task.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/Monitor.java
@@ -34,8 +34,11 @@
//        System.out.println("uuid = " + uuid);
        //创建 ftp 对象
        FTPClient ftp = new FTPClient();
        boolean flag = false;
        try {
            //设置超时时间
            ftp.setDataTimeout(60000);
            //连接超时为60秒
            ftp.setConnectTimeout(60000);
            //连接
            ftp.connect(ftpHost, ftpPort);
@@ -57,24 +60,18 @@
            ftp.setControlEncoding("GBK");
            // 检验文件是否存在
            boolean ftpFile = ftp.changeWorkingDirectory(ftpPath);
//            System.out.println("检验文件是否存在 = " + ftpFile);
            // Use passive mode as default
            ftp.enterLocalPassiveMode();
            FTPFile[] files = ftp.listFiles();
//            System.out.println("files = " + files);
//            System.out.println("开始读取内网回传消息");
            if (files.length==0){
//                System.out.println("未读取到文件");
                return new Result(400,null,"未读取到文件",null);
            } else {
//                System.out.println("-----有读取到文件--------");
                for (FTPFile file : files){
                    String fileName = file.getName();
//                    System.out.println("fileName = " + fileName);
                    InputStream is = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
                    String substring1 = fileName.substring(0, 2);
//                    System.out.println("substring1 = " + substring1);
                    if (substring1.equals("ni")){
                        System.out.println("-------接收到内网回传的文件: " + fileName);
                        //把文件下载到本地
@@ -137,8 +134,11 @@
    public static Result getFtpDataByUuidList(String uuid) {
        //创建 ftp 对象
        FTPClient ftp = new FTPClient();
        boolean flag = false;
        try {
            //设置超时时间
            ftp.setDataTimeout(60000);
            //连接超时为60秒
            ftp.setConnectTimeout(60000);
            //连接
            ftp.connect(ftpHost, ftpPort);
            // 登陆
@@ -217,8 +217,11 @@
    public static Result getFtpDataByUuidListTrain(String uuid) {
        //创建 ftp 对象
        FTPClient ftp = new FTPClient();
        boolean flag = false;
        try {
            //设置超时时间
            ftp.setDataTimeout(60000);
            //连接超时为60秒
            ftp.setConnectTimeout(60000);
            //连接
            ftp.connect(ftpHost, ftpPort);
            // 登陆
@@ -298,7 +301,9 @@
        FTPClient ftp = new FTPClient();
        try {
            //设置超时时间
            ftp.setConnectTimeout(2000);
            ftp.setDataTimeout(60000);
            //连接超时为60秒
            ftp.setConnectTimeout(60000);
            //连接
            ftp.connect(ftpHost, ftpPort);
            // 登陆
src/main/java/org/springblade/modules/quartz/task/Task.java
@@ -147,8 +147,8 @@
                            //删除本地服务器文件
                            MysqlCenlint.deletess(fileName);
                            //删除 ftp 服务器文件
                            ftp.dele(fileName);
//                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
//                            ftp.dele(fileName);
                            FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
                        }
                        //关闭流
                        is.close();