From 97e331f4340f8aa7cb7efe3cacc0f764a337f378 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期五, 22 九月 2023 09:10:08 +0800 Subject: [PATCH] 修复FTP无法备份问题 --- src/main/java/com/whyc/dto/FtpHelper.java | 38 ++++++++++++++------------------------ 1 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/whyc/dto/FtpHelper.java b/src/main/java/com/whyc/dto/FtpHelper.java index 180f25d..537ca04 100644 --- a/src/main/java/com/whyc/dto/FtpHelper.java +++ b/src/main/java/com/whyc/dto/FtpHelper.java @@ -4,6 +4,7 @@ import org.apache.commons.lang.StringUtils; import java.io.*; +import java.text.ParseException; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; @@ -257,10 +258,19 @@ return rsList; } - public void deleteDir(String dirName) throws IOException, FTPException { + public void deleteDir(String dirName) throws IOException, FTPException, ParseException { FTPClient client = ftp; - String[] dir = client.dir(dirName, true); - for (String subDirName : dir) { + + //String[] dir = client.dir(dirName, true); + FTPFile[] ftpFiles = client.dirDetails(dirName); + for (FTPFile ftpFile : ftpFiles) { + if(ftpFile.isDir()){ + deleteDir(dirName+"/"+ftpFile.getName()); + }else{ + client.delete(dirName+"/"+ftpFile.getName()); + } + } + /*for (String subDirName : dir) { String name = subDirName.substring(subDirName.lastIndexOf(" ") + 1); if(subDirName.contains("<DIR>")){ //鏂囦欢澶� //name = new String(name.getBytes(StandardCharsets.ISO_8859_1),"GBK"); @@ -270,28 +280,8 @@ //name = new String(name.getBytes(StandardCharsets.ISO_8859_1),"GBK"); client.delete(dirName+"/"+name); } - } + }*/ client.rmdir(dirName); - } - - public static void main(String[] args) { - try { // 浠巉tp涓嬭浇鏂囦欢 - FtpHelper ftp = new FtpHelper("192.168.10.80", 21, "lxw", "lxw810412026"); - //File file = new File("D:\\fileTest\\鍐呴樆鍒嗘瀽杞欢-闂鍙嶉-20221031.docx"); - /*ftp.uploadFile(file, "test/"+"鍐呴樆鍒嗘瀽杞欢-闂鍙嶉-20221031.docx"); - ftp.disconnect();*/ - List<File> list=ftp.getFileList("D:\\fileTest\\software"); - if(list!=null&&list.size()>0){ - for (File file:list) { - String name=file.getPath().substring(file.getPath().lastIndexOf("software")); - System.out.println(name); - String pathName="/"+name.replace("\\","/"); - ftp.uploadFile(file, pathName); - } - } - } catch (Exception e) { - e.printStackTrace(); - } } public String[] getDirList() throws IOException, FTPException { -- Gitblit v1.9.1