private static List<File> getDirectoryFilesRecursive(String directoryPath, List<File> fileList, int maxDepth) {
        if (maxDepth < 0) {
            return fileList;
        }
        maxDepth--;
        File file = new File(directoryPath);
        if (file.isDirectory()) {
            File[] subFiles = file.listFiles();
            if (subFiles != null) {
                for (File subFile : subFiles) {
                    if (subFile.isDirectory()) {
                        getDirectoryFilesRecursive(subFile.getPath(), fileList, maxDepth);
                    } else {
                        fileList.add(subFile);
                    }
                }
            }
        }
        return fileList;
    }
@param directoryPath the directory path
@param maxDepth      the max directory depth to get the files, the given directory is 0 as the tree root
@return all normal files which in this directory and subDirectory according to the maxDepth
@throws FileNotFoundException the directory not exist in the given path
oap-server/server-library/library-util/src/main/java/org/apache/skywalking/oap/server/library/util/ResourceUtils.java