[实习记录]java递归得到所有文件

情景:需要得到一个主文件夹中的所有文件,主文件夹下的文件目录中可能有文件和文件夹混杂。也就是得到所有最底层的文件。

public ListgetFilenames(String pathname) { File dirfile = new File(pathname); List filenames = new ArrayList<>();

        assert (dirfile.isDirectory()) : "pathname must be directory!";

        if (dirfile.isDirectory()) {

            File[] filelist = dirfile.listFiles();

            for (File file : filelist) {

                if (file.isFile())//if filepath is file

                {

                    filenames.add(pathname + System.getProperty("file.separator") + file.getName());

                } else {

                    filenames.addAll(getFilenames(file.getPath()));

                }

            }

        }

        return filenames;

    }

你可能感兴趣的:([实习记录]java递归得到所有文件)