循环访问多个YAML文件以查找特定数据

时间:2015-09-07 00:50:01

标签: java file yaml bukkit

我想问一下,如何能够循环浏览YAML文件以找到所需的数据?

我的情况:我有一个Spigot / Bukkit服务器,它有一个充满大量文件的文件夹。我需要做的是,在插件中单独浏览每个文件,找到包含我需要的数据的文件。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以使用以下方式遍历文件:

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");

但实际上最后一部分是因为你有其他类型的文件。如果你不小心,最终可能会遇到异常。一般而言,您所做的事情通常不是必需的,并且很可能是一个更好的解决方案。只是回答你的问题。