如何在Java中从项目根文件夹中读取具有相对路径的文件?

如何在Java中从项目根文件夹中读取具有相对路径的文件?,java,xml,java-io,Java,Xml,Java Io,我需要从内部文件夹中的java类中的project root读取一个XML文件 假设XML文件位于 D:\MyProjects\TestProject 文件夹。 我需要从你那里读到它 D:\MyProjects\TestProject\src\main\java\com\my\test\ReadXML.java 这里TestProject是我的项目根文件夹src\main\java是我的源文件夹,com.my.test是其中的包 请提供从项目根目录中的文件读取数据的方法 谢谢。Java不知道您的

我需要从内部文件夹中的java类中的project root读取一个XML文件

假设XML文件位于

D:\MyProjects\TestProject

文件夹。 我需要从你那里读到它

D:\MyProjects\TestProject\src\main\java\com\my\test\ReadXML.java

这里TestProject是我的项目根文件夹src\main\java是我的源文件夹,com.my.test是其中的包

请提供从项目根目录中的文件读取数据的方法


谢谢。

Java不知道您的项目根目录在哪里。它只知道从哪个目录调用它

如果您是从根目录运行的,那么您可以直接使用文件名,就像MadProgrammer在他的评论中提到的那样

如果不是从项目根目录运行,如果不想硬编码绝对路径,则必须将其作为命令行参数传入


如果您碰巧知道您将始终从相对于项目根目录的同一目录运行,例如
/bin
,那么您可以使用固定的相对路径:
。\Foo.xml

理论上,您只需从当前目录读取文件,假设程序是从
D:\MyProjects\TestProject