[英]Correct way of reading a file in src/main/resources as string in a web application?
我有一个具有以下结构(部分)的Web应用程序。
Project Name
src/main/java
com.package
MainFile.java
src/main/resources
sample.xml
现在,我想从MainFile.java作为字符串读取sample.xml。
我尝试使用此方法,但出现了NoSuchFileException
byte[] encoded = Files.readAllBytes(Paths.get("src/main/resources/sample.xml"));
return new String(encoded, StandardCharsets.UTF_8);
请提出解决此问题的方法。
尝试这个:
ClassLoader loader = SomeClass.class.getClassLoader();
InputStream is = loader.getResourceAsStream("sample.xml"));
byte[] b = null;
int numBytes = is.read(b);
资源应该在类路径中,而ClassLoader应该为您找到它。
该文件位于Web应用程序的类路径中,因此您可以像这样获得它:
Path path = Paths.get(getClass().getResource("/sample.xml").toURI());
return new String(Files.readAllBytes(path));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.