嗨,我想问一下为什么我用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
谢谢您的投入!
答案 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";
}
如果您使用的是结构,则应该可以使用:)。