我给你个例子,你把其中的路径File file = new File("c:\\tmp\\5");改成你的路径就行了。
public class Test2
{
public static void main(String[] args)
{
File file = new File("c:\\tmp\\5");
Test2 t = new Test2();
t.method(file);
}
public void method(File f)
{
File[] FList = f.listFiles();
for (int i = 0; i < FList.length; i++)
{
if (FList[i].isDirectory()==true)
{
method(FList[i]);
}
else
{
System.out.println(FList[i].getAbsolutePath());
}
}
}
}
package p;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class 遍历文件 {
//上一个文件
String lastFile = "" ;
//没能得到的文件
List
/**
* 递归遍历
*/
public void getFiles(File dir){
File[] fz = dir.listFiles() ;
if(fz == null){
errFile.add(lastFile) ; //这个文件不能读取(多少系统的什么文件夹)
return ;
}
for (int i = 0; i < fz.length; i++) {
if(fz[i].isDirectory()){//目录
lastFile = fz[i].getAbsolutePath() ; //保存这个是 可能无法对此文件操作
getFiles(fz[i]) ;
}else {
//这里是对 fz[i] 这个文件的处理
System.out.println(fz[i]);
}
}
}
//不能读取的文件
public void out(){
for (int i = 0; i < errFile.size(); i++) {
System.out.println(errFile.get(i));
}
}
public static void main(String[] args) {
遍历文件 aa = new 遍历文件();
aa.getFiles(new File("M:"));
System.out.println("_________________________");
aa.out() ;
}
}
你可是使用递归读取啊