我如何返回一个包含该文件夹中的所有文件以及子文件夹的文件数组,我的方法仅适用于该文件夹,并且不包括子文件夹。
public File[] listf(String directoryName) { // .............list file File directory = new File(directoryName); // get all the files from a directory File[] fList = directory.listFiles(); for (File file : fList) { if (file.isFile()) { System.out.println(file.getAbsolutePath()); } else if (file.isDirectory()) { listf(file.getAbsolutePath()); } } System.out.println(fList); return fList; }
使用您当前的代码,进行以下调整:
public void listf(String directoryName, List<File> files) { File directory = new File(directoryName); // Get all files from a directory. File[] fList = directory.listFiles(); if(fList != null) for (File file : fList) { if (file.isFile()) { files.add(file); } else if (file.isDirectory()) { listf(file.getAbsolutePath(), files); } } } }