|
import java.io.File;
public class 遍历文件系统 {
public static void main(String[] args) { //遍历E盘 遍历文件系统 dir = new 遍历文件系统(); dir.dir(new File("e:/"));
//遍历全部磁盘(包括软驱和光驱在内了) String[] diskNames = { "A:/", "B:/", "C:/", "D:/", "E:/", "F:/", "G:/", "H:/", "I:/", "J:/", "K:/", "L:/", "M:/", "N:/", "O:/", "P:/", "Q:/", "R:/", "S:/", "T:/", "U:/", "V:/", "W:/", "X:/", "Y:/", "Z:/" }; for (int i=0; i<26; i++) { dir.dir(new File(diskNames[i])); } //如果是Linux系统,则这样既可: //dir.dir(new File("/"));//直接从根分区开始便利就行 }
//递归遍历 public void dir(File path) {
if (path == null || !path.exists() || path.isFile()) { //没有这个目录,或者这个路径是一个文件而不是文件夹,则返回 return; } else { //如果这个路径是一个文件夹,则列出文件夹中的所有文件,并且对每一个文件进行递归访问 File[] files = path.listFiles();
File file = null; int len = files.length; for (int i = 0; i < len; i++) { file = files[i]; //输出文件的绝对路径 System.out.println(file.getAbsolutePath()); dir(file); } } } }
|