Java递归读取一个目录下的所有文件

public List<String> listFilesByName(String directory) {
		List<String> files = new ArrayList<String>();
		File file = new File(directory);
		File[] childrenFiles = file.listFiles();
		for (int i = 0; i < childrenFiles.length; i++) {
			File childFile = childrenFiles[i];
			if (childFile.isDirectory()) {
				List<String> grandsons = listFilesByName(childFile.getPath());
				for(int j=0; j<grandsons.size(); j++) {
					files.add(grandsons.get(j));
				}
			} else if(childFile.isFile()){
				files.add(childFile.getPath());
			}
		}
		return files;
	}

猜你喜欢

转载自jxdiamond.iteye.com/blog/1186102