java代码 读取一个文件夹下的所有文件夹及里面的文件。

2024-12-19 03:35:46
推荐回答(3个)
回答1:

我给你个例子,你把其中的路径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());
}
}
}
}

回答2:

package p;

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

public class 遍历文件 {

//上一个文件
String lastFile = "" ;
//没能得到的文件
List errFile = new ArrayList() ;
/**
* 递归遍历
*/
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() ;
}

}

回答3:

你可是使用递归读取啊