文件构造函数说明
我无法理解以下文件构造函数。
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
..