Java';类文件中的相对路径

Java';类文件中的相对路径,java,file,path,Java,File,Path,这是我的密码: File file1 = new File(""); System.out.println(file1.exists()); // why the output is false? System.out.println(file1.getAbsolutePath()); // assume that my current path is "d:/xxx/yyy" File file2 = new File("."); System.out.println(file2.getPa

这是我的密码:

File file1 = new File("");
System.out.println(file1.exists()); // why the output is false?
System.out.println(file1.getAbsolutePath());

// assume that my current path is "d:/xxx/yyy"
File file2 = new File(".");
System.out.println(file2.getPath());   // i want to get ""
                                       // but i actually get ".", 
                                       // which is not i want.
                                       // so how can i get ""
总之,我想要的是类file的对象文件,当我调用 file.getPath()返回“”
当我调用file.exists()时,它返回true

如果您真的只想在字符串中包含当前工作目录,只需使用
System.getProperty(“user.dir”)
,请参阅


否则,您必须对“当前工作目录”使用
,并使用获取此
文件的规范表示形式。另请参见。

关于您的第一个问题:
文件(“”
是一个有效路径,相当于
System.getProperty(“user.dir”)
。它不是该路径中的有效文件或目录(但它仍然没有路径。这是一个完全相对的路径,因此当调用
getPath()
时,它将返回一个空字符串,因为找不到名为“”的文件


您的第二个问题“.”是一个目录,它存在,并且它还有一个相对路径“”,因此在调用getPath时,您将看到路径“”+目录名。“

”不是有效的文件名或路径名。您的代码真正想要实现什么?目前您只描述了您想要实现什么。我很惊讶代码“file file1=new file(“”)”会创建一个表示当前路径的文件对象。但它没有像我想的那样工作,因为“file1.exists()”返回false。并且新建文件(“.”)创建一个表示当前路径的文件对象,但路径包含“.”,我不需要“.”。