在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

回到顶部