问题描述
我使用Java创建一个文件夹“ myCoolFolder”,如下所示:
Files.createDirectories(Path.of("MyCoolFolder"));
这是相对路径。令我感到惊讶的是-有时文件夹在文件夹结构中被创建得更深或更高级,并且我不知道这种可疑行为的原因。也许这取决于我运行项目的方式以及它认为的“工作目录”,但是我对此并不十分确定。如何确保它始终是同一文件夹?
解决方法
相对路径名是相对于解析路径的工作目录来解析的。
如果要在不同的时间解析到不同的位置,则要么用(在不同的工作目录中)启动进程(应用程序),要么(可能)在更改其工作目录。 (Java进程没有一种可移植的方式来更改其自己的工作目录。)
如何确保它始终是同一文件夹?
请确保您使用相同(正确)的工作目录启动Java应用程序,或者为该文件夹使用绝对路径名。