File的使用和常用方法的介绍

1.File:文件和目录路径名的抽象表示。

2.绝对路径:带盘符的路径.
相对路径:相对某个文件或文件夹而言的路径.
        当参考的文件与文件夹与当前的文件或文件夹在同一个盘符时:绝对路径!=相对路径.
        当参考的文件与文件夹与当前的文件或文件夹不在同一个盘符时:绝对路径==相对路 径.
    根路径:相对当前项目来说的路径.

3.File类的常用方法
    eg:public static void main(String[] args) {
        //创建文件对象
        File f1=new File("a.txt");
        
        System.out.println("绝对路径:"+f1.getAbsolutePath());
        System.out.println("相对路径:"+f1.getPath());
        System.out.println("文件名:"+f1.getName());
        System.out.println("是否可读:"+f1.canRead());
        System.out.println("是否可写:"+f1.canWrite());
        System.out.println("是否隐藏:"+f1.isHidden());
        System.out.println("文件内容长度:"+f1.length());
        System.out.println("最后一次修改时间:"+f1.lastModified());
    }

    public static void main(String[] args) throws IOException {
        //创建文件对象  第一个值文件名路径  第二个值文件名 File.separator  \
        File f1=new File("c1"+File.separator+"cc"+File.separator+"c.txt");
        
        //判断文件是否存在
        if (f1.exists()) {//存在
            System.out.println("文件存在");
        }else {
            System.out.println("文件不存在");
            //获得当前文件的父目录
            File parentFile=f1.getParentFile();
            if (!parentFile.exists()) {//父目录不存在
                //创建父目录
                //parentFile.mkdir();//创建一级目录
                parentFile.mkdirs();//创建多级目录
                System.out.println("父目录创建成功");
            }
            
            //判断子文件是否存在
            if (!f1.exists()) {
                //创建文件
                f1.createNewFile();    
                System.out.println("文件创建成功");
            }
        }
    }

    public static void main(String[] args) throws IOException {
        //创建文件对象
        File f1=new File("aa");
        
        //判断当前的File对象 是否是文件夹
        if (f1.isDirectory()) {//目录
            //获得当前目录的子文件和子目录
            File[] f1List=f1.listFiles();
            if (f1List.length!=0) {
                //遍历子文件和子目录,输出名称
                for (File f2 : f1List) {
                    //获得文件名,并判断是否是以.txt结尾的
                    if (f2.getName().endsWith(".txt")) {
                        System.out.println(f2.getName());
                    }
                }
                
            }else {
                System.out.println("当前文件夹是一个空文件夹");
            }
        }else {
            System.out.println("当前对象是文件");
        }
    }

4.递归:方法自身调用自身.
    4.1:当一个问题可以拆分为若干个子问题,且子问题的解决方法与原问题一样.
    4.2:原问题的解决依赖于所有子问题的解决.
    4.3:递归一定要有出口.
    eg:public static void main(String[] args) throws IOException {
        //创建文件对象
        File f1=new File("aa");
        
        //判断当前的File对象 是否是文件夹
        if (f1.isDirectory()) {//目录
            isDirectory(f1);
        }else {
            System.out.println("当前对象是文件");
        }
    }
    
    /**
     * 获得当前文件夹下面的所有子文件和子目录
     */
    public static void isDirectory(File f1) {
        //获得当前目录的子文件和子目录
        File[] f1List=f1.listFiles();
        if (f1List.length!=0) {
            //遍历子文件和子目录,输出名称
            for (File f2 : f1List) {
                判断当前对象是否是文件,如果是文件,并判断是否是以.txt结尾的
                if (f2.isFile()&&f2.getName().endsWith(".txt")) {
                    System.out.println(f2.getName());
                }else if(f2.isDirectory()) {//是目录
                    isDirectory(f2);
                }
            }
        }
    }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值