getResourceAsStream返回空值

时间:2019-05-08 03:29:58

标签: java jboss redhat

嗨,我想问一下为什么我用getResourceAsStream获取空值?

这是我的代码段:

我已经尝试过并且可以正常工作。

InputStream ios = new FileInputStream(Constant.DEFAULT_PROFILE_PICTURE);

我只想知道为什么在使用getResourceAsStream时为什么会得到空值。

InputStream ios = request.getSession().getServletContext().getResourceAsStream(Constant.DEFAULT_PROFILE_PICTURE);

Constant.DEFAULT_PROFILE_PICTURE路径为: /home/user/NoImageAvailable.png

谢谢您的投入!

1 个答案:

答案 0 :(得分:3)

您正在正确使用和初始化资源。

因此,如果该文件不起作用,则说明您的文件不是在Resources文件夹内未使用其相对位置的相对路径,或是根本不在Resources文件夹内。

如果它不在Resources文件夹中,则 getResourceAsStream 无法访问它。

例如: 结构:

└── src
    └── main
        ├── java
        │   └── Main.java  // Here you would use the your Resource for example
        └── resources
            └── NoImageAvailable.png

常量声明:

class Constant {
    public static final String DEFAULT_PROFILE_PICTURE = "NoImageAvailable.png";
}

如果您使用的是结构,则应该可以使用:)。