java 循环读取一个指定文件夹下的所有文件,提供大致代码的思路吧,谢谢~

现在已经可以对一个指定文件操作,想改成对文件夹里所有文件做同样操作,指定用递归,但不知道怎么写代码,求指教

public static List<File> getFiles(String path){
    File root = new File(path);
    List<File> files = new ArrayList<File>();
    if(!root.isDirectory()){
    files.add(root);
    }else{
     File[] subFiles = root.listFiles();
     for(File f : subFiles){
     files.addAll(getFiles(f.getAbsolutePath()));
     }    
    }
    return files;
}

public static void main(String[] args) {
    List<File> files = getFiles("D:\\usr\\local\\java\\jdk1.6.0_30");
    for(File f : files){
    System.out.println(f.getName());
    }
}

大概就是这样了,没有做异常处理,自己看着办~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-24
public static void main(String[] args) {
File file = new File("D://test");
readFile(file);
}
public static void readFile(File file){
if(file.isDirectory()){
System.out.println(file.getAbsolutePath());
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
readFile(files[i]);
}
}else{
System.out.println(file.getName());
}
}

相似回答