Hadoop-FileSystem.listFiles-未列出目录

Hadoop-FileSystem.listFiles-未列出目录,hadoop,hdfs,Hadoop,Hdfs,我正在研究这个方法:FileSystem.listFiles(路径f,布尔递归) 列出给定路径中文件的状态和块位置。如果路径是目录,如果recursive为false,则返回目录中的文件;如果recursive为true,则返回以路径为根的子树中的文件。如果路径是文件,则返回文件的状态和块位置 我正在测试这个方法,它似乎没有返回给定目录的子目录。这是设计的吗(看起来是这样的,尽管它的java.io对应物不是这样工作的)?如果这种限制是出于设计,那么如果我想列出所有子目录,还有什么选择呢 另一种方

我正在研究这个方法:
FileSystem.listFiles(路径f,布尔递归)

列出给定路径中文件的状态和块位置。如果路径是目录,如果recursive为false,则返回目录中的文件;如果recursive为true,则返回以路径为根的子树中的文件。如果路径是文件,则返回文件的状态和块位置

我正在测试这个方法,它似乎没有返回给定目录的子目录。这是设计的吗(看起来是这样的,尽管它的java.io对应物不是这样工作的)?如果这种限制是出于设计,那么如果我想列出所有子目录,还有什么选择呢


另一种方法
FileSystem.listStatus(路径f)
也不返回子目录的状态。我遗漏了什么?

您是否收到任何类型的错误/异常

您可能使用了以下代码:

FileStatus[] status = fs.listStatus(path);
for (int i=0;i<status.length;i++){
    FSDataInputStream fSDataInputStream = fs.open(status[i].getPath());
}
FileStatus[]status=fs.listStatus(路径);

对于(int i=0;i如果需要列出子目录和文件,请使用FileSystem.listLocatedStatus而不是FileSystem.listStatus