循环遍历多个 YAML 文件以查找特定数据

Looping through multiple YAML files to find specific data

我想问一下,如何循环遍历 YAML 文件以找到所需的数据?

我的情况:我有一个 Spigot/Bukkit 服务器,它有一个文件夹,里面装满了很多文件。我需要做的是在插件中分别浏览这些文件中的每一个,以查找哪个文件包含我需要的数据。我怎样才能做到这一点?

您可以使用以下方式循环访问文件:

YamlConfiguration config = new YamlConfiguration();
File[] files = this.getDataFolder().listFiles();
for(File file : files){
    try {
        config.load(file);
        if(config.contains("Path")){
            //What you need to do.
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (InvalidConfigurationException e) {
        e.printStackTrace();
    }
}

加载它们然后循环加载它们,然后检查它们是否包含您需要的路径。但是,您可能需要指定一个文件夹,为此只需在 for 循环中执行一个语句,例如:

file = new File(file.getAbsolutePath() + File.separator + "FOLDER_NAME");

但实际上最后一部分是为了防止您有其他类型的文件。如果您不小心,最终可能会出现异常。一般来说,您所做的通常不是必需的,并且很可能有更好的解决方案。不过只是回答你的问题。