在Java中不能使用~(波浪号)!

我为此感到很困惑。
因为我觉得搜索查询可能不太容易找到相关结果,所以在查询里加上了波浪符号。
请不要误以为这是意思加读音的意思,请见谅。

执行环境

Mac 10.11.1 和 Java 7

不行的人

如果要创建一个名为”dir”的目录。

    File file = new File("~/dir");
    if(file.exists()){
        System.out.println("dirあるで")
    }
    else{
        file.mkdir();
    }

这样做不行。
听说Java无法使用~
换句话说,~这种东西根本就不存在,所以在判断file(~/dir)是否存在之前,~就不存在。

好人

假设要创建一个名为dir的目录。

    String homeDir = System.getenv("HOME");
    File file = new File(homeDir + "/dir");
    if(file.exists()){
        System.out.println("dirあるで")
    }
    else{
        file.mkdir();
    }

这样做就可以成功创建/home/shu920921/dir!

System.getenv(“HOME”) 返回 /home/shu920921。

广告
将在 10 秒后关闭
bannerAds