【发布时间】:2019-04-04 16:19:31
【问题描述】:
我在 mac 上试过这个:
touch ~/a.txt
然后是java文件:
import java.io.File;
public class testPwd {
public static void main(String [] args) {
File f = new File("~/a.txt");
System.out.println(f.exists());
}
}
它打印出“假”。
这是为什么? java能识别“~”符号吗?如果我使用绝对路径,这个 f.exists() 返回 true。
有什么解释吗?
【问题讨论】:
-
Does java recognize the "~" symbol?— 正如您所展示的,事实并非如此。你还问什么? -
这是 Unix 约定;不确定它是否独立于平台。
-
是的,你不能那样做。使用
System.getProperty("user.home");,如本问题stackoverflow.com/questions/585534/… 所示,获取用户的主目录。