在java doc about
中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
因此我有一个问题:
之间有什么区别
抽象路径名
和
路径名字符串
答案 0 :(得分:8)
抽象路径名是java.io.File
对象,路径名字符串是java.lang.String
对象。两者都引用磁盘上的相同文件。
我怎么知道?
java.io.File
的Javadoc的第一句话解释了:
文件和目录路径名的抽象表示。
它继续解释原因:
用户界面和操作系统使用系统相关的 pathname strings 命名文件和目录。这个班 提出了一个抽象的,与系统无关的层次结构视图 路径名。
答案 1 :(得分:1)
抽象路径名只是File
对象中保存的文件/位置的字符串形式。
如果您检查File#toString()
:
返回此抽象路径名的路径名字符串。这只是
getPath()
方法返回的字符串。
答案 2 :(得分:1)
参见javadoc:abstract pathname = File
这些与操作系统的符号特性无关。
字符串表单为您提供了在当前操作系统上编写以引用该文件所需的内容。