一尘不染

文件构造函数说明

java

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

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

参数parentchild文件含义是什么?什么时候可以使用这些?我完成了一些与文件相关的程序,但从未使用过。我通常使用

public File(String pathname)

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


阅读 231

收藏
2020-12-03

共1个答案

一尘不染

说明

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

parent文件实例在哪里,它是目录文件。parent字符串在哪里,它只是该目录的pathname术语。


例子

考虑以下部分文件系统:

Documents
    Homework
    Classwork
    Tests

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

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的应用程序,该API包含一种返回目录文件的方法,该目录文件允许第三方“插件”保存/读取文件。如果没有File(File, String)构造函数,则需要将目录文件转换为绝对路径,然后将目标文件附加到该绝对路径。

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

File settingsFile = new File(Environment.getProgramDirectory(), "settings.txt");
2020-12-03