【问题标题】:What does abstract path means in java.io?java.io 中的抽象路径是什么意思?
【发布时间】:2014-08-27 23:14:23
【问题描述】:

在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

所以我有一个问题:

有什么区别

抽象路径名

和

路径名字符串

?

【问题讨论】:

  • "abstract pathname" 是“File object”的一种奇特方式

标签: java file io path


【解决方案1】:

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

我怎么知道?

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

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

继续解释原因:

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

【讨论】:

    【解决方案2】:

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

    如果你查看File#toString()的javadoc:

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

    【讨论】:

      【解决方案3】:

      参见 javadoc:抽象路径名 = 文件

      1. 可选的系统相关前缀字符串,例如磁盘驱动器说明符、“/”表示 UNIX 根目录或“\\”表示 Microsoft Windows UNC 路径名,以及
      2. 零个或多个字符串名称的序列。 [指目录和文件

      这些与操作系统的特殊符号无关。

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

      【讨论】:

        猜你喜欢
        • 2011-06-13
        • 2022-09-28
        • 1970-01-01
        • 2012-03-12
        • 2023-04-06
        • 1970-01-01
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多