在运行时执行期间如何获取Intellij的根项目目录

cal*_*een 2 intellij-idea

我正在尝试编写一个导入函数,将文件的某些内容导入到intellij中。我想将此文件的默认路径指定为我的内容根目录下的目录之一。我想知道 intellij 是否提供了特定的函数调用来在运行时获取内容根?因为我无法对文件路径进行硬编码,因为它们对于不同的计算机来说是不同的。

例如,在名为“main”的内容根目录下,我有一个“data”文件夹,我想将其用作在该文件夹内导入文件的目录。

Cra*_*der 5

IntelliJ IDEA 运行配置工作目录默认为项目根目录。即使你改变了它,它的路径也会相对存储在项目中,这样它就可以在任何系统上运行。

data获取当前工作目录下的目录路径的示例代码:

package com.jetbrains.support;

import java.io.File;
import java.io.IOException;

public class Main {
  public static void main(String[] args) throws IOException {
    File directory = new File("./data");
    System.out.println(directory.getCanonicalPath());
  }
}
Run Code Online (Sandbox Code Playgroud)

要获取不带子目录的工作目录(项目根)路径,data可以使用以下代码:

File directory = new File("./").getCanonicalPath();
Run Code Online (Sandbox Code Playgroud)

工作证明:

证明