A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Main
{
        public static void showDir(File file, FilenameFilter filter)
        {
                File[] files = file.listFiles(filter);
                System.out.println(file.getAbsolutePath());
                for(File f : files)
                {
                        if(f.isDirectory())
                                showDir(f,filter);
                        else
                                System.out.println(f.getAbsolutePath());
                }
        }
        public static void main(String[] args)
        {
                File f = new File("D:\\Dev-Cpp");
                showDir(f, new FilenameFilter()
                {//内部类
                        public boolean accept(File dir, String name)
                        {
                                File f = new File(name);
                                if(f.isDirectory())
                                {
                                        return true;
                                }
                                else
                                        return f.getName().endsWith(".txt");
                        }
                });
        }
}

内部类该怎么写?(加粗部分代码不对)
或者更好的方法?

5 个回复

倒序浏览
试试下面这段代码

package fourth;
import java.io.File;

/**
* 我想打印指定目录下的文件或文件夹,包括子目录中的内容,也就是列出指定目录下的所有内容
*/
public class ListFilesDemo {
    public static void main(String []args){
        File dir=new File("E:\\testdir");
        showDir(dir);
    }
    public static void showDir(File dir){
        File[] files=dir.listFiles();
        for(int i=0;i<files.length;i++){
            //判断一下当前是目录还是文件
            if(files[i].isDirectory())
                //如果是目录则递归调用,即自己调用自己
                showDir(files[i]);
            else{
                    if((files[i]+"").endsWith(".txt"))
                //这个for循环只负责打印文件的
                System.out.println(files[i]);
            }
        }
    }
}
回复 使用道具 举报
生存追求 发表于 2015-9-6 22:08
试试下面这段代码

package fourth;

这个我刚刚试了,思路是获取全面文件,然后判断文件名是否符合要求
但是我有一条语句是打印目录的,这样就会把那些目录(里面有文件但是没有txt文件)也打印出来了
回复 使用道具 举报
晓月残魂 发表于 2015-9-6 22:27
这个我刚刚试了,思路是获取全面文件,然后判断文件名是否符合要求
但是我有一条语句是打印目录的,这样 ...

??不明白
回复 使用道具 举报
就是 能不能直接获取目录下的   子目录和txt文件
回复 使用道具 举报

就是 能不能直接获取目录下的   子目录和txt文件
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马