Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.io.File无法识别"~&引用;家的象征?_Java_File_Io_Directory - Fatal编程技术网

java.io.File无法识别"~&引用;家的象征?

java.io.File无法识别"~&引用;家的象征?,java,file,io,directory,Java,File,Io,Directory,我在mac上试过这个: touch ~/a.txt 然后是java文件: import java.io.File; public class testPwd { public static void main(String [] args) { File f = new File("~/a.txt"); System.out.println(f.exists()); } } 它打印出“假” 为什么会这样?java能识别“~”符号吗?如果使用绝

我在mac上试过这个:

touch ~/a.txt
然后是java文件:

import java.io.File;

public class testPwd {
    public static void main(String [] args) {
        File f = new File("~/a.txt");
        System.out.println(f.exists());
    }
}
它打印出“假”

为什么会这样?java能识别“~”符号吗?如果使用绝对路径,则f.exists()返回true

有什么解释吗

为什么会这样

因为
~
符号只被unixshell理解(令人困惑的是,它被用于HTTP服务器)。即使您用C编写程序,它也无法理解指定当前用户的主目录


要获取用户的主目录,请使用
System.getProperty(“user.home”)
。(回答自)

java能识别“~”符号吗?
——正如您所演示的,它不能识别。你还问什么?这是一个Unix约定;不确定它是否独立于平台。是的,你不能这样做。使用
System.getProperty(“user.home”)如本问题中所示,获取用户的主目录。