我有一个maven Spring项目,xml
内有src/main/resources/xyz.xml
个文件。如何在spring MVC控制器中读取它。
我正在使用
InputStream is = getClass().getResourceAsStream("classpath:xyz.xml");
但is
为null
。
答案 0 :(得分:77)
Resource resource = new ClassPathResource(fileLocationInClasspath);
InputStream resourceInputStream = resource.getInputStream();
使用ClassPathResource和界面resource。但请确保您正确地复制资源目录(使用maven),并且不会丢失它,例如,如果将测试作为测试上下文的一部分运行。
答案 1 :(得分:21)
对于基于spring的应用程序,您可以利用 ResourceUtils 类。
df = pd.DataFrame({
'x' : [1,1],
'y' : [1,1],
})
lof = pd.DataFrame({
'lof' : [2,1],
})
fig= plt.figure(figsize = (4,3), dpi = 200)
plt.scatter(df.x,df.y, s = 8, c =lof.lof)
plt.show()
答案 2 :(得分:13)
以下是加载类路径资源的一种方法。
Resource resource = applicationContext.getResource("classpath:xyz.xml");
InputStream is = resource.getInputStream();
答案 3 :(得分:9)
您可以将带有注释@Value
的字段添加到您的bean:
@Value("classpath:xyz.xml")
private Resource resource;
然后简单地:
resource.getInputStream();
答案 4 :(得分:0)
2019年12月14日的最佳工作代码(春季版本5.1.0.RELEASE)
import org.springframework.core.io.Resource;
import org.springframework.core.io.ClassPathResource;
import java.io.File;
import java.io.InputStream;
Resource resource = new ClassPathResource("xyz.xml");
InputStream input = resource.getInputStream();
File file = resource.getFile();
有关更多详细信息,请参见this