您的位置:首页 > 编程语言 > Java开发

列出指定目录下的文件(Java 目录和文件操作)

2013-07-18 15:36 337 查看
 

import java.io.File;
import java.io.FilenameFilter;
public class ListFileUtil
{

//过滤文件
static class MyFilenameFilter implements FilenameFilter
{
private String surfix = "";
public MyFilenameFilter(String surfix)
{
this.surfix=surfix;
}
@Override
public boolean accept(File dir, String name)
{
// TODO Auto-generated method stub
if(new File(dir,name).isFile())
return name.endsWith(surfix);
return false;
}
}

// 列出所有文件夹包含的子目录的文件路径
public static void listAllFiles(String dirName)
{
if(!dirName.endsWith(File.separator))
dirName+=File.separator;
File dirFile = new File(dirName);
if(!dirFile.exists())
{
System.out.println("List失败!找不到目录:"+dirName);
return;
}
File[] files = dirFile.listFiles();
for(int i=0;i<files.length;i++)
if(files[i].isFile())
{
System.out.println(files[i].getAbsolutePath()+" 是文件");
}
else if(files[i].isDirectory())
{
System.out.println(files[i].getAbsolutePath()+" 是目录");
ListFileUtil.listAllFiles(files[i].getAbsolutePath());
}
}

//列出目录中用过滤器过滤后的文件
public static void listFilesByFilenameFilter(FilenameFilter filter,String dirName)
{
if(!dirName.endsWith(File.separator))
dirName+=File.separator;
File dirFile = new File(dirName);
if(!dirFile.exists()||(!dirFile.isDirectory()))
{
System.out.println("List失败!找不到目录:"+dirName);
return;
}

File[] files = dirFile.listFiles(filter); //以指定的过滤器过滤文件
for(int i=0;i<files.length;i++)
if(files[i].isFile())
{
System.out.println(files[i].getAbsolutePath()+" 是文件");
}
else if(files[i].isDirectory())
{
System.out.println(files[i].getAbsolutePath()+" 是目录");
ListFileUtil.listAllFiles(files[i].getAbsolutePath());
}
}

public static void main(String[] args)
{
String dir = "D:/360";
System.out.println(dir+"目录下的内容:");
ListFileUtil.listAllFiles(dir);

System.out.println();
System.out.println("经过过滤器过滤后的文件:");
FilenameFilter myFilenameFilter = new ListFileUtil.MyFilenameFilter(".txt");
ListFileUtil.listFilesByFilenameFilter(myFilenameFilter, dir);

}
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: