代码之家  ›  专栏  ›  技术社区  ›  lbedogni

使用get resource()获取资源

  •  52
  • lbedogni  · 技术社区  · 16 年前

    我需要在Java项目中获取一个资源映像文件。我要做的是:

    URL url = TestGameTable.class.getClass().
              getClassLoader().getResource("unibo.lsb.res/dice.jpg");
    

    目录结构如下:

    unibo/
      lsb/
        res/
          dice.jpg
        test/
        ..../ /* other packages */
    

    事实上,我总是得到,因为文件不存在。我试过很多不同的方法,但我解决不了这个问题。 有什么暗示吗?

    4 回复  |  直到 8 年前
        1
  •  94
  •   Bozho    16 年前
    TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg");
    
    • 前导斜杠表示类路径的根
    • 路径中的斜线而不是点
    • 你可以打电话 getResource() 直接上课。
        2
  •  12
  •   arush436    11 年前

    而不是显式地编写可以使用的类名

    this.getClass().getResource("/unibo/lsb/res/dice.jpg");
    
        3
  •  3
  •   fabian    8 年前

    如果您是从 static 使用方法:

    TestGameTable.class.getClassLoader().getResource("dice.jpg");
    
        4
  •  2
  •   Community Mohan Dere    9 年前

    要记住的一点是,这里的相关路径是相对于类的文件系统位置的路径…在您的情况下,测试游戏表。 . 它与testgametable的位置无关。 爪哇 文件。
    我在这里留下了一个更详细的答案… where is resource actually located

    推荐文章