作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 ~/.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/
我是一名优秀的程序员,十分优秀!