Java 相对路径不起作用

Java 相对路径不起作用,java,Java,我的文件夹结构如下: myDir resources myConfig.cfg in infile.txt myProgram.jar -->runnable jar file 我试图使用相对路径/in/infle.txt 我在myConfig.cfg中提到这些相对路径 在代码中,我使用like Properties properties = new Properties(); properties.load(new FileInputStream("

我的文件夹结构如下:

myDir
  resources
    myConfig.cfg

  in
    infile.txt  

  myProgram.jar -->runnable jar file
我试图使用相对路径
/in/infle.txt
我在myConfig.cfg中提到这些相对路径

在代码中,我使用like

Properties properties = new Properties();
properties.load(new FileInputStream("./resources/myConfig.cfg"));
错误是什么? 这同样适用于另一个jar和相同的路径。

试试这个

properties.load(this.getClass().getResourceAsStream("/myConfig.cfg"));

实际上,当未使用编译后的资源文件夹,但所有资源文件都移动到“classes”目录下时

是否有任何异常?是的。与往常一样,FileNotFoundException。我尝试了不同的相对路径,如./,…/,....,等等。对于另一个进程,./in/infie.txt非常有效。我希望将配置文件放在jar之外。。这样我可以在需要时编辑它。我该怎么做?实际上,我在访问infle.txt时遇到了问题。配置文件读取正常。有了我使用的代码,我甚至可以在复制和创建jar之后编辑它。(如果使用配置文件,请纠正我的错误)。使用外部文件可以,但要获得新值,您必须重新启动应用程序或添加某种刷新配置。每次都重新启动它。但是,我在读取infle.txt的路径时遇到了问题。。我使用的相对路径有错吗?