为什么 FTP 列表中的每个目录都有一个 "dot" 项

why every directory in FTP list has a "dot" item

我正在制作一个 JTree,它使用 (Apache Commons) 加载 FTP 服务器的文件和文件夹。 我使用这种方法来加载特定目录的文件:

FTPFile[] innerFiles = ftp.listFiles();

我注意到对于任何目录,innerFiles [0].innerFiles [1].. 从 innerFiles[2] 开始查找很容易忽略它们,但我只想知道这些保留项的用途是什么,如果忽略它们会不会有什么问题?

这些文件代表当前目录 (.) 和它上面的目录 (..)。在创建显示所有文件和目录的树结构时,您应该忽略这些。

您可以指定一个 FTPFileFilter 来去除这些。

你可以忽略它们。这是列出所有实际文件的实现,忽略两个 dot 文件:

ftp.listFiles(remoteFilePath, file ->
{
    val filePath = file.getName();
    return !(filePath.equals(".") || filePath.equals(".."));
});

这似乎比从索引 2 开始更合适。