Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文件构造函数说明_Java_File - Fatal编程技术网

Java 文件构造函数说明

Java 文件构造函数说明,java,file,Java,File,我无法理解以下文件构造函数 public File(String parent, String child) and public File(File parent, String child) 参数parent和child对文件意味着什么?我什么时候可以用这些?我已经做了一些程序相关的文件,但我从来没有使用过这些。我通常使用 public File(String pathname) 我已经读过了,但是我不知道何时以及如何使用这些构造函数。有人能解释一下并举例说明吗。解释 parent参数

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

public File(String parent, String child) and 
public File(File parent, String child)
参数
parent
child
对文件意味着什么?我什么时候可以用这些?我已经做了一些程序相关的文件,但我从来没有使用过这些。我通常使用

public File(String pathname)
我已经读过了,但是我不知道何时以及如何使用这些构造函数。有人能解释一下并举例说明吗。

解释
parent
参数是
子文件名或相对文件路径的父目录

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


例子 考虑以下部分文件系统:

Documents
    Homework
    Classwork
    Tests
您可以将文档目录声明为文件,并将其用作其他文件实例的父文件,而不是用“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,其中包含一个返回目录文件的方法,允许第三方“插件”在其中保存/读取文件。如果没有
文件(File,String)
构造函数,我需要将目录文件转换为绝对路径并将目标文件附加到其中

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

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

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

上所述,父级
将指向
目录


Child
将是它的
内容。

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

假设您具有以下结构:

/dir1
  dir11
通常使用
新文件(“/dir1/dir11”)
的构造函数与

新文件(“/dir1”、“dir11”)
(构造函数将2
字符串作为参数)

也相当于


新文件(新文件(“/dir1”),“dir11”)
(构造函数使用
文件作为第一个参数)。

子参数不必是文件名。它可以是一个文件夹名或相对路径。文件夹的定义是一个文件,但我还是补充了这一点。我想OP说她已经在文档中读了那么多,正在寻找关于何时/为什么部分的解释。@BheshGurung感谢你指出这一点;我添加了一个示例和说明。请参阅。只是在已经给出的答案中添加一个,我大多数情况下使用它们,例如,我有一个指向目录的文件对象,并且我需要在该目录中创建一个或多个文件。与其每次连接一个字符串或创建一个新的文件指针,我只需维护一个常量文件目录指针(父指针),并将文件名(子指针)传递给您在问题中编写的第二个构造函数。