我无法理解以下文件构造函数。
public File(String parent, String child) and
public File(File parent, String child)
参数parent
和child
对文件意味着什么?我什么时候可以使用这些?我做了几个与文件相关的程序,但我从未使用过这些程序。我通常使用
public File(String pathname)
我已阅读java file docs但我无法弄清楚何时以及如何使用这些构造函数。有人可以解释并举例说明。
答案 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
..