java 怎么遍历 文件夹下的 文件

java 怎么遍历 文件夹下的 文件最好能有源代码 加注释 谢啦

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class Traverse {
/** List游标 */
private static Integer sign = 0;
/** 初始路径 */
private static String initPath = "E:\\";
/** 文件夹路径 */
public static List<String> filePath = new ArrayList<String>();

public static void main(String[] args) {

/** 开始遍历节点 */
System.out.println("---star---");
filePath.add(initPath);// 将首目录放入遍历队列
while (sign < filePath.size()) {
getFilePath();
sign++;
}
System.out.println("---end---");
}

/**
* <p>
* 获取所有节点路径
*
* @return void
*/
public static void getFilePath() {
try {
File file = new File(filePath.get(sign));
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
boolean isFile = false;
isFile = files[i].isFile();
if (!isFile) {
filePath.add(files[i].getAbsolutePath());
System.out.println(files[i].getAbsolutePath());
}
}
} catch (Exception e) {

}
}
}
这个是遍历给定目录下的所有子目录,并存放在list中,如果你要遍历文件就从list中逐个取目录再遍历判断是不是文件就行了!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-04
File file = new File("dir");
//获取目录下的文件/目录
File[] subFiles = file.listFiles();

第2个回答  2011-10-12
public void traverse (String path){
File file = new File(path);
if(file.listFiles()==null){
return;
}
for(File tmp : file.listFiles()){
if(tmp.isFile()){ //如果是文件 ,打印名字
System.out.println(tmp.getName());
}else{ //不是文件。递归
traverse(tmp.getAbsolutePath());
}
}
}本回答被网友采纳
相似回答