SnakeYaml保持IOException:流关闭

问题描述

当我尝试从this Webiste运行代码时,无论尝试做什么并解决它,我都会不断遇到相同的错误。我尝试过:

  • 检查名称是否正确并存在(如果是路径问题,请输入不正确,我直接在输入流中引用了文件(“ example.txt”),并且该文件与java文件位于同一包中。
  • 更新库
  • 直接在yaml.load中放置文件名,这只会引发另一个异常(无法将类java.lang.String强制转换为类java.util.Map(java.lang.String和java.util.Map位于模块java中) .base的加载程序'bootstrap'))
  • 创建一个新的Java项目,同样的错误
  • 在互联网上找到解决方案。
private void editConfig(String id) {
        
        Yaml yaml = new Yaml();
        InputStream inputStream = this.getClass()
          .getClassLoader()
          .getResourceAsstream("config.yml");
        Map<String,Object> obj = yaml.load(inputStream);
        System.out.println(obj);
        
}

Here is my file structure

解决方法

我找到了答案;

因为yaml文件与我的课程位于同一个程序包中,所以我应该摆脱.getClassLoader。