在Linux中从Java访问“〜”(用户主目录)
我需要在〜/ .config / myapp.cfg中创建一个配置文件,所以我要使用File
:
File f;f = new File("~/.config/gfgd.gfgdf");
if(!f.exists()){
f.createNewFile();
}
问题是,它告诉我,该目录不存在,类似这样。
java.io.IOException: Not such file or directory at java.io.UnixFileSystem.createFileExclusively(Native Method)
我尝试将路径更改为/ home /
user之类的东西,它起作用了。所以我设法得出一个结论,即java不知道〜/的含义以及文件夹名前的punct(。)的含义,因为/home/user/.config也无法正常工作。
我该怎么办?
回答:
这种~
表示法是一件空壳的事情。阅读有关外壳扩展的内容。
Java不理解这种表示法。要获得主目录,请使用key
获取系统属性user.home
:
String home = System.getProperty("user.home");File f = new File(home + "/.config/gfgd.gfgdf");
(作为奖励,它也可以在Windows计算机上运行;-)
以上是 在Linux中从Java访问“〜”(用户主目录) 的全部内容, 来源链接: utcz.com/qa/402646.html