【发布时间】:2018-11-01 03:39:57
【问题描述】:
我正在使用intellij进行java开发,在我的project/src目录下,我有一个“my.json”文件,我的java程序是:
import java.io.File;
public class My {
public static void main(String [] args){
String s = My.class.getResource(".") + "../../src/my.json";
File f = new File(s);
System.out.println(s+" exists: "+f.exists());
}
}
打印出来:
file:/Users/x/java_local/target/classes/../../src/my.json exists: false
但是如果我在命令行下“ls”:
ls /Users/x/java_local/target/classes/../../src/my.json
然后我可以看到它。
看来java代码构造的相对路径是无效的。如果我在代码中使用绝对路径,那么它可以工作。
我在 Mac 上。有关此问题如何发生以及如何解决的任何解释?
【问题讨论】:
标签: java string file directory relative-path