我想将文件读入位于 Maven 项目基础级别的字符串变量中。
在此示例中,我尝试读取“somerando.sql”文件。
我一直在尝试使用:
Path path = Paths.get("/myproj/somerando.sql");
String sql = new String(Files.readAllBytes(path));
但这并没有得到它。有没有办法可以从这里读取文件而不使用它在计算机上的绝对路径?
最佳答案
Maven 有一些约定,您应该尝试遵循它们。这些很有帮助。
此外,开发后,应用程序并不存在于 Maven 项目中,而是存在于组件(Jar/war 等)中。
因此,为了避免绝对路径,您应该将应用程序或测试所需的文件放置在匹配的类路径文件夹中。
如果您的文件用于测试,您可以将其移动到 Maven 保留的位置来满足此需求:yourMavenProject/src/test/resources
如果您的文件用于应用程序,您可以将其移动到 Maven 保留的位置来满足此需求:yourMavenProject/src/main/resources
现在您可以通过以下方式访问它:
Path path = Paths.get(YourClass.class.getResource("filter.xml").toURI());
关于java - 如何在java maven项目的基础级别上读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40361154/