2017-09-23 61 views
0

我想访问我的src文件夹中的文件。如何在eclipse中使用资源文件?

skillImage = ImageIO.read(getClass().getResourceAsStream("/flame.png")); 

这将产生一个异常:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: input == null! 
at javax.imageio.ImageIO.read(Unknown Source) 

我检查了SRC实际上是我的源文件夹(属性 - > Java构建路径 - >游戏/ src目录中列出)

当我从jar中运行它时,它工作得很好。

+0

是'“/ flame.png“'而不是'”flame.png“'错字? – howlger

+0

nope,但它不会改变结果。同样的例外 – qwpeo

回答

1

通常,getResourceAsStream(String name)适用于JAR文件以及解压缩的类文件夹。请注意以下几点:

  1. 使用"flame.png"代替"/flame.png"作为资源名称
  2. 确保,flame.png将被复制到getClass()被称为类的包输出文件夹bin/...):

    • 普通Java项目:只需将文件复制到包含类的包中,代码为getClass().getResourceAsStream("flame.png")

enter image description here

  • Maven的Java项目:用于容纳所述代码getClass()com.example.Foo,用于flame.png默认位置将是src/main/resources/com/example/

enter image description here