java – 搜索文件夹树并查找特定文件类型的递归方法

所以我正在编写一个代码来查找蛋白质数据库中的某些信息.我知道递归文件夹搜索是查找这些文件的最佳方式,但我对这种语言很新,并且被告知用Java编写(我通常做C)

这就是说,我将使用什么方法:

第一:在桌面上找到该文件夹
第二步:打开每个文件夹和该文件夹子文件夹
第三步:找到以“.dat”类型结尾的文件(因为这些是存储蛋白质信息的唯一文件

感谢您提供的任何和所有帮助

> java.io.File是“文件和目录路径名的抽象表示”
> File.listFiles提供目录中包含的所有文件的列表(如果File对象表示目录)
> File.listFiles(FileFilter)使您能够根据需要过滤文件列表

所以,有了这些信息……

您可以使用类似的东西指定路径位置

File parent = new File("C:/path/to/where/you/want");

您可以检查文件是否是…的目录

if (parent.isDirectory()) {
    // Take action of the directory
}

您可以通过以下方式列出目录的内容…

File[] children = parent.listFiles();
// This will return null if the path does not exist it is not a directory...

您可以以类似的方式过滤列表…

File[] children = parent.listFiles(new FileFilter() {
        public boolean accept(File file) {
            return file.isDirectory() || file.getName().toLowerCase().endsWith(".dat");
        }
    });
// This will return all the files that are directories or whose file name ends
// with ".dat" (*.dat)

其他有用的方法包括(但不限于)

> File.exists测试文件实际存在
> File.isFile,基本上不是说!File.isDirectory()
> File.getName(),返回文件名,不包括其路径
> File.getPath()返回文件的路径和名称.这可能是相对的,所以要小心,请参阅File.getAbsolutePathFile.getCanonicalPath来解决此问题.
> File.getParentFile,它允许您访问父文件夹

https://stackoverflow.com/questions/12656569/recursive-method-to-search-through-folder-tree-and-find-specific-file-types

转载注明原文:java – 搜索文件夹树并查找特定文件类型的递归方法