如下所示数据文件的相对路径是什么?
What is the relative path for data files as shown below?
编辑:我希望它不仅可以在 IDE(当它来自根目录 运行 时)而且当我 运行 它来自终端(我已经 cd
进入 src
目录。
我有一个名为 main.java.org.name.nlp.lg.Class
的文件,它位于 src
目录中。在 src
目录之外(在根目录中),我有一个名为 data
的文件夹,其中包含文件 data/en/words/file.txt
。如何通过相对路径将 file.txt
加载到 Class.java
中?我当前的代码给了我一个 NPE:
URL url = new Class().getClass().getResource("../../../../../../../data/en/words/file.txt");
File f = new File(url.getPath());
List<String> list = Files.readAllLines(f.toPath());
System.out.println(list);
这是文件树:
src
main
java
org
name
nlp
lg
Class
data
en
words
file.txt
谢谢。
Path pathToYourFile = Paths.get(Paths.get("data/en/words").toAbsolutePath().toString(),
"file.txt");
File yourFile = pathToYourFile.toFile();
编辑:我希望它不仅可以在 IDE(当它来自根目录 运行 时)而且当我 运行 它来自终端(我已经 cd
进入 src
目录。
我有一个名为 main.java.org.name.nlp.lg.Class
的文件,它位于 src
目录中。在 src
目录之外(在根目录中),我有一个名为 data
的文件夹,其中包含文件 data/en/words/file.txt
。如何通过相对路径将 file.txt
加载到 Class.java
中?我当前的代码给了我一个 NPE:
URL url = new Class().getClass().getResource("../../../../../../../data/en/words/file.txt");
File f = new File(url.getPath());
List<String> list = Files.readAllLines(f.toPath());
System.out.println(list);
这是文件树:
src
main
java
org
name
nlp
lg
Class
data
en
words
file.txt
谢谢。
Path pathToYourFile = Paths.get(Paths.get("data/en/words").toAbsolutePath().toString(),
"file.txt");
File yourFile = pathToYourFile.toFile();