文件构造函数说明

时间:2012-08-28 18:35:20

标签: java file

我无法理解以下文件构造函数。

    public File(String parent, String child) and 
    public File(File parent, String child)

参数parentchild对文件意味着什么?我什么时候可以使用这些?我做了几个与文件相关的程序,但我从未使用过这些程序。我通常使用

    public File(String pathname)

我已阅读java file docs但我无法弄清楚何时以及如何使用这些构造函数。有人可以解释并举例说明。

4 个答案:

答案 0 :(得分:23)

说明

parent参数是child文件名或相关文件路径的父目录。

其中parent是File实例,它是一个目录文件。其中parent是一个字符串,它只是pathname条件中的那个目录。


实施例

考虑以下部分文件系统:

Documents
    Homework
    Classwork
    Tests

您可以将Documents目录声明为文件,而不是使用“Documents \ Subdir”声明每个新文件,并将其用作其他File实例的parent文件,如下所示:

File documents = new File("Documents");
File tests = new File("Documents/Tests"); // new File(String);

File homework = new File(documents, "Homework"); // new File(File, String)

File classwork = new File("Documents", "Classwork"); // new File(String, String)

真实世界的应用程序

根据我的经验,我使用的应用程序提供的API包含一个方法,该方法返回允许第三方“插件”保存/读取文件的目录文件。如果没有File(File, String)构造函数,我需要将目录文件转换为绝对路径并将目标文件追加到它。

在以下示例中,Environment.getProgramDirectory()返回授予权限的目录文件。

File settingsFile = new File(Environment.getProgramDirectory(), "settings.txt");

答案 1 :(得分:2)

“父抽象路径名用于表示目录,子路径名字符串用于表示目录或文件。”如API

所述

答案 2 :(得分:2)

让我们用一些例子来解释:

假设您有以下结构:

/dir1
  dir11

您通常使用new File("/dir1/dir11")的构造函数等同于

new File("/dir1", "dir11")(构造函数以2 String作为参数)

也等同于

new File(new File("/dir1"), "dir11")(构造函数使用File作为第一个参数)。

答案 3 :(得分:1)

Parent将指向Directory

Child将是Contents ..