How to locate the Path of the current project directory in Java (IDE)?

前端 未结 9 1402
梦如初夏
梦如初夏 2020-11-28 21:46

I am trying to locate the path of the current running/debugged project programmatically in Java, I looked in Google and what I found was System.getProperty(\"user.id\"

9条回答
  •  旧时难觅i
    2020-11-28 22:25

    This is the new way to do it:

    Path root = FileSystems.getDefault().getPath("").toAbsolutePath();
    Path filePath = Paths.get(root.toString(),"src", "main", "resources", fileName);
    

    Or even better:

    Path root = Paths.get(".").normalize().toAbsolutePath();
    

    But I would take it one step further:

    public String getUsersProjectRootDirectory() {
        String envRootDir = System.getProperty("user.dir");
        Path rootDIr = Paths.get(".").normalize().toAbsolutePath();
        if ( rootDir.startsWith(envRootDir) ) {
            return rootDir;
        } else {
            throw new RuntimeException("Root dir not found in user directory.");
        }
    }
    

提交回复
热议问题