黑马程序员_File类、递归

来源:互联网 发布:cisco2960g 端口闪黄灯 编辑:程序博客网 时间:2024/04/29 19:05

------- android培训、java培训、期待与您交流! ----------


1.File类(掌握)
    (1)为了方便java对硬盘上的文件进行操作。就提供了一个File类。
    (2)File的构造方法:
        A:File file = new File("d:\\a.txt");
        B:File file = new File("d:\\","a.txt");
        C:File file = new File("d:\\");
              File file2 = new File(file,"a.txt");

        以上三种等价。
    (3)File类要掌握的功能:
        A:创建功能
            创建文件:createNewFile()
            创建文件夹:mkdir()
            创建多级文件夹:mkdirs()
        B:删除功能
            删除文件和文件夹: delete()
        C:重命名功能
            重命名文件:renameTo(File dest)
        D:判断功能
            isFile()
        E:获取功能
            绝对路径:getAbsolutePath()
            相对路径:getPath()
            获取名称:getName()
        F:重要的获取功能
            String[] list()
            File[] listFiles()

            带文件名称过滤器的获取功能
            String[] list(FilenameFilter filter)
            File[] listFiles(FilenameFilter filter)
    (4)案例:
        重命名指定目录下的文件。
        获取指定目录下指定后缀名的文件名称。

        需求:获取d盘目录下java结尾的文件。

        File file = new File("d:\\");

        String[] strArray = file.list(new FilenameFilter(){
            @Override
            public boolean accept(File dir,String name)
            {
                return new File(dir,name).isFile() && name.endsWith(".java");
            }
        });

        for(String str : strArray)
        {
            System.out.println(str);
        }

2.递归(理解)
    (1)递归:方法定义中调用方法本身的现象。
        举例:老和尚给小和尚讲故事,我们学编程。
    (2)注意事项:
        A:一定要有出口。
        B:递归的次数不能过多,否则内存溢出。
    
        构造方法也是不能递归使用的。
    (3)案例:
        A:递归求阶乘
        B:递归求数列的第二十项的值
        C:递归遍历指定目录
        D:递归删除带内容的目录

        能用循环的就不要用递归。

原创粉丝点击