给定一个目录路径字符串 `/home/user/docs`,以及一个实现了 `java.io.FilenameFilter` 接口的 `TextFileFilter` 类,该类的 `accept` 方法被设计为仅接受 `.txt` 文件。假设使用 `java.io.File` 的 `listFiles(FilenameFilter filter)` 方法来获取该目录下所有符合条件的 `.txt` 文件。以下关于该方法行为的描述,哪一项是准确的?

答案解析

选项 A 错误,虽然所有返回的 `File` 对象代表的是 `.txt` 文件,但它们的父路径不一定是 `/home/user/docs`,因为在目录`/home/user/docs`下可能存在子目录,而`FilenameFilter`也可能过滤的是子目录下的`.txt`文件。选项 B 正确,`listFiles(filter)`返回的`File`对象代表匹配到的文件,这些文件的路径包括了绝对路径或相对于当前目录的路径(如果子目录有匹配项)。选项 C 错误,`listFiles(filter)` 返回的是 `File` 对象数组,而不是字符串数组。选项 D 错误,如果目录不存在或不是目录,`listFiles(filter)` 方法会返回 `null`,而不是抛出 `NullPointerException`,需要在调用前进行判断避免空指针异常。
正确答案:B
随机推荐
开始刷题