我正在使用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 上。有关此问题如何发生以及如何解决的任何解释?
慕妹3146593
蓝山帝景
相关分类