且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

递归遍历目录下面指定的文件名

更新时间:2022-08-17 19:15:21

    /**
     * 递归遍历目录下面指定的文件名
     * @param ftp
     * @param pathName 需要遍历的目录,必须以"/"开始和结束
     * @param filePaths 找到的文件
     * @throws IOException
     */public void getList(FTPClient ftp,String pathName,List<String> filePaths) throws IOException {
        if (pathName.startsWith("/") && pathName.endsWith("/")) {
            //更换目录到当前目录
            boolean isOk = ftp.changeWorkingDirectory(pathName);
            if (isOk){
                FTPFile[] files = ftp.listFiles();
                for (FTPFile file : files) {
                    if (file.isFile()) {
                        //此处可以添加过滤逻辑,获取指定的文件

                        String filePath = pathName + file.getName();
                        filePaths.add(filePath );
                    } else if (file.isDirectory()) {
                        if (!".".equals(file.getName()) && !"..".equals(file.getName())) {
                            getList(ftp,pathName + file.getName() + "/",filePaths);
                        }
                    }
                }
            }
        }
    }