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

2022-09-04 02:25:26

在 java 文档中关于

File#getPath()

写:

 Converts this abstract pathname into a pathname string.

我试着写1

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

因此,我有一个问题:

两者之间有什么区别

抽象路径名

路径名字符串

?


答案 1

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

我怎么知道?

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

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

它继续解释了为什么:

用户界面和操作系统使用与系统相关的路径名字符串来命名文件和目录。此类提供分层路径名的抽象、独立于系统的视图。


答案 2

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

如果您检查的 javadoc:File#toString()

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