文件构造函数说明

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

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

parent文件和child文件对文件的含义是什么? 我什么时候可以使用这些? 我做了几个与文件相关的程序,但我从未使用过这些程序。 我经常使用

  public File(String pathname) 

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

说明

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

其中parent是File实例,它是一个目录文件。 其中parent是String,它只是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"); 

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

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

假设您具有以下结构:

 /dir1 dir11 

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

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

也相当于

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

Parent将指向Directory

Child将是其Contents ..