繁体   English   中英

在Web应用程序中以字符串形式读取src / main / resources中的文件的正确方法?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM