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

时间:2014-07-07 12:57:06

标签: java file io path

在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

因此我有一个问题:

之间有什么区别
  

抽象路径名

  

路径名字符串

3 个答案:

答案 0 :(得分:8)

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

我怎么知道?

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

  

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

它继续解释原因:

  

用户界面和操作系统使用系统相关的    pathname strings 命名文件和目录。这个班   提出了一个抽象的,与系统无关的层次结构视图   路径名。

答案 1 :(得分:1)

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

如果您检查File#toString()

的javadoc
  

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

答案 2 :(得分:1)

参见javadoc:abstract pathname = File

  1. 可选的系统相关前缀字符串,例如磁盘驱动器说明符," /"对于UNIX根目录,或者" \\"对于Microsoft Windows UNC路径名和
  2. 零个或多个字符串名称的序列。 [参考目录和文件
  3. 这些与操作系统的符号特性无关。

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