抽象路径在java.io中意味着什么?

抽象路径在java.io中意味着什么?,java,file,io,path,Java,File,Io,Path,在java文档中关于 File#getPath() 写道: Converts this abstract pathname into a pathname string. 我试着写作 File file3 = new File("D:\\work"); System.out.println(file3.getPath()); 在cmd中我看到D:\\work 我试着写2: File file4= new File("file4"); System.out.println(file4.ge

在java文档中关于

File#getPath()
写道:

 Converts this abstract pathname into a pathname string.
我试着写作

File file3 = new File("D:\\work");
System.out.println(file3.getPath());
在cmd中我看到
D:\\work

我试着写2:

File file4= new File("file4");
System.out.println(file4.getPath());
在cmd中,我看到:

file4
因此,我有一个问题:

两者之间有什么区别

抽象路径名

路径名字符串

抽象路径名是
java.io.File
对象,路径名字符串是
java.lang.string
对象。两者都引用磁盘上的相同文件

我怎么知道

java.io.File
的Javadoc的第一句解释:

文件和目录路径名的抽象表示

它接着解释了原因:

用户界面和操作系统使用依赖于系统的 用于命名文件和目录的路径名字符串。这个班 提供抽象的、独立于系统的层次结构视图 路径名


抽象路径名只是
文件
对象中保存的文件/位置的字符串形式

如果您检查
文件的javadoc#toString()

返回此抽象路径名的路径名字符串。这只是
getPath()
方法返回的字符串


请参阅javadoc:abstract pathname=File

  • 可选的系统相关前缀字符串,如磁盘驱动器说明符“/”表示UNIX根目录,或“\\”表示Microsoft Windows UNC路径名,以及
  • 零个或多个字符串名的序列。[参考目录和文件]
  • 它们独立于操作系统的符号特性

    字符串表单为您提供了在当前操作系统上引用该文件所需的内容。

    “抽象路径名”是一种表示“
    文件”
    对象”的奇特方式