当前页面: 开发资料首页 → J2EE 专题 → 50分求答案!!!怎样取得文件夹下的所有文件,包括子目录中的文件
50分求答案!!!怎样取得文件夹下的所有文件,包括子目录中的文件
摘要: 50分求答案!!!怎样取得文件夹下的所有文件,包括子目录中的文件
不知道哪位大侠可以告诉我怎么写?
File.list()
遇到文件夹,用递归
kevinliuu(@。@)
File.list()
遇到文件夹,用递归
我也想用这个方法来着,但是具体怎么写呢?
这是我刚写的一个小程序,可能还有BUG,你看一下:
import java.io.File;
import java.io.IOException;
public class SearchFile
{
public SearchFile()
{
}
public static void searchDirectory(File dir) throws IOException
{
if(dir == null || !dir.isDirectory())
{
System.out.println("[ " + dir + " ] is not a Directory");
return;
}
File[] dirs = dir.listFiles();
int len = dirs.length;
for(int i = 0; i
{
if(dirs[i].isDirectory())
{
System.out.println("[Dirs] "+dirs[i].toString());
searchDirectory(dirs[i]);
}else
{
System.out.println("[File] "+dirs[i].toString());
}
}
}
public static void main(String[] args) throws Exception
{
if ( args.length == 0)
{
System.out.println("usage:java SearchFile dirname");
return;
}
File dir = new File(args[0]);
searchDirectory(dir);
}
}
import java.io.*;
import java.util.*;
public class TestFileList
{
static List list = new ArrayList();
public static void main(String[] args)
{
String path = "D:/a/";
List oList = allFile(path);
if(oList==null)
{
System.err.println("不是文夹");
}else{
System.err.println("长度:"+oList.size());
}
}
private static List allFile(String path)
{
File file = new File(path);
String[] array = null;
String sTemp = "";
if(file.isDirectory())
{
}else{
return null;
}
array= file.list();
if(array.length>0)
{
for(int i=0;i
{
sTemp = path+array[i];
file = new File(sTemp);
if(file.isDirectory())
{
allFile(sTemp+"/");
}else{
System.err.println("文件"+sTemp);
list.add(sTemp);
}
}
}else{
return null;
}
return list;
}
}
试试看,在D盘下建目录好可测试...........成功了!