gpt4 book ai didi

java - 在Linux中从Java访问 "~"(用户主目录)

转载 作者:行者123 更新时间:2023-12-02 00:57:15 25 4
gpt4 key购买 nike

我需要在 ~/.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 也不起作用。

我应该做什么?

最佳答案

~ 符号是 shell 的东西。阅读shell expansion .

Java 不理解这种表示法。要获取主目录,请获取 system property使用 key user.home:

String home = System.getProperty("user.home");
File f = new File(home + "/.config/gfgd.gfgdf");

(作为奖励,它也可以在 Windows 机器上运行;-)

关于java - 在Linux中从Java访问 "~"(用户主目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57805220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com