为什么相对路径不断变化,如何防止这种变化?

问题描述

我使用Java创建一个文件夹“ myCoolFolder”,如下所示:

Files.createDirectories(Path.of("MyCoolFolder"));

这是相对路径。令我感到惊讶的是-有时文件夹在文件夹结构中被创建得更深或更高级,并且我不知道这种可疑行为的原因。也许这取决于我运行项目的方式以及它认为的“工作目录”,但是我对此并不十分确定。如何确保它始终是同一文件夹?

解决方法

相对路径名是相对于解析路径的工作目录来解析的。

如果要在不同的时间解析到不同的位置,则要么用(在不同的工作目录中)启动进程(应用程序),要么(可能)在更改其工作目录。 (Java进程没有一种可移植的方式来更改其自己的工作目录。)

如何确保它始终是同一文件夹?

请确保您使用相同(正确)的工作目录启动Java应用程序,或者为该文件夹使用绝对路径名。