文件构造函数说明

Ama*_*ath 15 java file

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

    public File(String parent, String child) and 
    public File(File parent, String child)
Run Code Online (Sandbox Code Playgroud)

文件的参数parentchild含义是什么?我什么时候可以使用这些?我做了几个与文件相关的程序,但我从未使用过这些程序.我经常使用

    public File(String pathname)
Run Code Online (Sandbox Code Playgroud)

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

FTh*_*son 25

说明

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

parentFile实例在哪里,它是一个目录文件.parentString 在哪里,它就是那个目录pathname.


例子

考虑以下部分文件系统:

Documents
    Homework
    Classwork
    Tests
Run Code Online (Sandbox Code Playgroud)

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

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)
Run Code Online (Sandbox Code Playgroud)

真实的应用程序

根据我的经验,我使用的应用程序提供的API包含一个方法,该方法返回允许第三方"插件"保存/读取文件的目录文件.如果没有File(File, String)构造函数,我需要将目录文件转换为绝对路径并将目标文件追加到它.

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

File settingsFile = new File(Environment.getProgramDirectory(), "settings.txt");
Run Code Online (Sandbox Code Playgroud)

  • 子参数不必是文件名.它可以是文件夹名称或相对路径. (3认同)
  • 根据定义,文件夹是一个文件,但无论如何我添加了澄清. (2认同)