【问题标题】:Cannot access resource by using the getResources() method无法使用 getResources() 方法访问资源
【发布时间】:2012-06-22 16:18:51
【问题描述】:

我有以下项目树:

我可以使用以下命令访问路径中的290.gif文件:Java GUI/src/dk/resources/290.gif:

this.getClass().getResource("/dk/resources/290.gif")

但我无法使用以下命令访问路径中的 290.gif 文件:Java GUI/resources2/290.gif:

this.getClass().getResource("/resources2/290.gif")

我正在尝试从 HelloWorldFrame.java 类访问 290.gif 文件。 我要访问路径中的290.gif文件:Java GUI/resources2/290.gif!

我做错了什么?

【问题讨论】:

    标签: java getresource


    【解决方案1】:

    似乎文件夹src 和resources2 都在构建路径中。你试过this.getClass().getResource("/290.gif")吗?

    【讨论】:

      【解决方案2】:

      在工件运行时,您可以使用

      InputStream resource = SomeClass.class.getResourceAsStream("<file or directory name"))
      

      或

      URL resource = SomeClass.class.getResource("<file or directory name"))
      

      其中 SomeClass 是工件中的一个类。第一种方式会给你一个 InputStream,你可以用它来读取文件的内容,第二种方式会返回一个 URL,你可以用它来找出文件或目录的路径或沿着目录树移动。

      【讨论】:

        【解决方案3】:

        您已在 Eclipse 中将src 和resources2 目录声明为源文件夹。 当 Eclipse 构建您的应用程序时,它会将资源复制到 build 文件夹,因此:

        • dk.resources package 中的文件可通过/dk/resources/290.gif 访问
        • resources2 文件夹 中的文件不在任何包中,可通过/290.gif 访问

        如果您希望通过/resources2/290.gif 访问该文件,请在src 文件夹下创建一个名为resource2 的包。

        【讨论】:

          猜你喜欢
          • 2012-09-09
          • 1970-01-01
          • 2012-12-20
          • 1970-01-01
          • 2021-08-06
          • 1970-01-01
          • 2012-11-05
          • 2015-07-17
          相关资源
          最近更新 更多