为什么hadoop`FileSystem.delete`返回一个布尔值

时间:2016-05-03 13:52:10

标签: hadoop hdfs hadoop2

我对这个API感到困惑。如果删除失败,不应该抛出异常来解释原因吗?为什么它会返回一个布尔值来告诉我们删除是否成功?

1 个答案:

答案 0 :(得分:2)

FileSystem课程中有两种方法deletedeleteonexit。这两种方法在普通的Java编程语言File中也很有用。 如果在delete与其中一个客户端关闭时未关闭FileSystem句柄。然后delete返回false。无需抛出异常。

在finally块中的情况下,我们可以使用deleteOnExit,以便jvm在终止后标记并删除FileSystem

abstract boolean    delete(Path f, boolean recursive)
Delete a file.
boolean deleteOnExit(Path f)
Mark a path to be deleted when FileSystem is closed.

希望这有帮助