如何在eclipse中使用资源文件?
问题描述:
我想访问我的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中运行它时,它工作得很好。
答
通常,getResourceAsStream(String name)
适用于JAR文件以及解压缩的类文件夹。请注意以下几点:
- 使用
"flame.png"
代替"/flame.png"
作为资源名称 -
确保,
flame.png
将被复制到getClass()
被称为类的包输出文件夹(bin/...
):- 普通Java项目:只需将文件复制到包含类的包中,代码为
getClass().getResourceAsStream("flame.png")
:
- 普通Java项目:只需将文件复制到包含类的包中,代码为
- Maven的Java项目:用于容纳所述代码
getClass()
类com.example.Foo
,用于flame.png
默认位置将是src/main/resources/com/example/
:
是'“/ flame.png“'而不是'”flame.png“'错字? – howlger
nope,但它不会改变结果。同样的例外 – qwpeo