Java中的File类常用操作

File类是干什么的呢?

假如你在玩游戏,这时候你的好基友来个电话,喊你一起去玩,而且还有女生。这时你会想我游戏玩到一半的这就出去,我玩这么半天的不是白玩了吗,这是就需要游戏存档,而游戏存档这个步骤就和File文件的操作有关系了
要想实现就需要:1.数据传输目的地 2.传输数据的方式


一、File类创建对象

File 对象就是表示一个路径,可以是文件路径,也可以是文件夹路径,这个路径可以是存在的,也允许是不存在的。在这里插入图片描述
以上图片就是FIle类创建对象的三个方法

1.public File(String pathname)方式创建对象,代码如下

String str = "D:\\idea\\jdbc_demo01\\src\\a.txt";
        File f1 = new File(str);
        System.out.println(f1);//D:\idea\jdbc_demo01\src\a.txt

2.public File(String parent,String child) 方式创建对象,代码如下:

//1.父级路径:D:\idea\jdbc_demo01\src
        //2.子级路径:a.txt
        String parent = "D:\\idea\\jdbc_demo01\\src";
        String child = "a.txt";
        File f2 = new File(parent,child);
        System.out.println(f2);//D:\idea\jdbc_demo01\src\a.txt

3.public File(File parent , String child)方式创建对象,代码如下:

//把一个File文件表示的路径和String表示的路径进行拼接
        File parent2 = new File("D:\\idea\\jdbc_demo01\\src");
        String  chile2 = "a.txt";
        File f4 = new File(parent2,chile2);
        System.out.println(f4);//D:\idea\jdbc_demo01\src\a.txt

总结

1.File表示什么?
File 对象就是表示一个路径,可以是文件路径,也可以是文件夹路径,这个路径可以是存在的,也允许是不存在的。
2.绝对路径和相对路径是什么意思?
绝对路径是带磁盘符的
相对路径是不带磁盘 的,默认到当前项目下去找。上边的例子全都是绝对路径。
3.File三种构造方法的作用?
请看上边的三种构造

二、File中常见的成员方法

1.File中常见的成员方法之判断和获取

1.判断的方法

在这里插入图片描述

 //1.对一个文件进行判断
        File f1 = new File("D:\\idea\\xha\\a.txt");
        System.out.println(f1.isDirectory());//false
        System.out.println(f1.isFile());//true
        System.out.println(f1.exists());//true

        //2.对一个文件夹的路径进行判断
        File f2 = new File("D:\\idea\\xha\\bbb");
        System.out.println(f2.isDirectory());//true
        System.out.println(f2.isFile());//false
        System.out.println(f2.exists());//true

        //3.对于一个不存在的路径进行判断:
        File f3 = new File("D:\\idea\\xha\\c.txt");
        System.out.println(f3.isDirectory());//false
        System.out.println(f3.isFile());//false
        System.out.println(f3.exists());//false

2.获取的方法

在这里插入图片描述

  //1.length 返回文件的大小(字节数量)
    //细节1:这个方法只能获取文件的大小,单位是字节
    //如果单位我们要是M,G。可以不断的除以 1024
    //len / 1024 KB
    //len / 1024 / 1024 MB
    //细节2:这个方法无法获取文件夹的大小
    //如果我们要获取一个文件的大小,需要把这个文件夹的里所有的文件大小都加在一起
    File f1 = new File("D:\\idea\\xha\\a.txt");
    long len = f1.length();
    System.out.println(len);//  7(字节)
    //如果是文件夹呢?
    File f2 = new File("D:\\idea\\xha\\bbb");
    long len2 = f2.length();
    System.out.println(len2);// 0

    //2.getAbsolutePath 返回文件的绝对路径
    File f3 = new File("D:\\idea\\xha\\a.txt");
    String path1 = f3.getAbsolutePath();
    System.out.println(path1);//D:\idea\xha\a.txt
    //当前项目目录下的文件create02.txt
    File f4 = new File("create02.txt");
    String path2 = f4.getAbsolutePath();
    System.out.println(path2);//D:\idea\jdbc_demo01\create02.txt

    //3.getPath 返回定义文件时使用的路径
    File f5 = new File("D:\\idea\\xha\\a.txt");
    String path3 = f5.getPath();
    System.out.println(path1);//D:\idea\xha\a.txt
    //当前项目目录下的文件create02.txt
    File f6 = new File("create02.txt");
    String path4 = f6.getPath();
    System.out.println(path2);//D:\idea\jdbc_demo01\create02.txt

    //4.getName 获取文件名
    //细节1:如果是文件,返回的就是文件名以及它的后缀名
    //细节2:如果是文件夹,返回的就是文件夹的名字
    File f7  = new File("D:\\idea\\xha\\a.txt");
    String name1 = f7.getName();
    System.out.println(name1);//a.txt
    //文件夹
    File f8 = new File("D:\\idea\\xha\\bbb");
    String name2 = f8.getName();
    System.out.println(name2);//bbb

    //5.public long lastModified()  返回文件的最后修改时间(单位为毫秒值)
    File f9 = new File("D:\\idea\\xha\\bbb");
    long time = f9.lastModified();
    System.out.println(time);//1667619884910

2.File中常见的成员方法之创建和删除

在这里插入图片描述
重点:delete方法默认只是删除文件和空文件夹,delete方法直接删除不走回收站
方法说明如下:

//1.createNewFile 创建一个新的空文件
        //细节1:如果文件已存在那么返回值就是 false,反之就是 true
        //细节2:如果父级路径不存在,那么方法会有异常 IOException
        //细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则会创建一个没有后缀名的文件
        File f1 = new File("D:\\idea\\xha\\c.txt");
        boolean b1 = f1.createNewFile();
        System.out.println(b1);//true

        //2.mkdir  make Directory. 创建文件夹(目录)
        //细节1:windows 当前目路径是唯一的,如果当前路径已经存在,则创建失败,返回false
        //细节2:mkdir 方法只能创建单级文件夹,无法创建多级文件夹
        File f2 = new File("D:\\idea\\xha\\ddd");
        boolean b2 = f2.mkdir();
        System.out.println(b2);//true

        //3.mkdirs 创建多级文件夹
        //细节1:既可以创建单级的文件夹,也可以创建多级的文件夹
        File f3 = new File("D:\\idea\\xha\\ddd\\ccc\\aaa");
        boolean b3 = f2.mkdirs();
        System.out.println(b2);//true

        //4.delete 删除文件,空文件夹
        //细节1:
        //      如果删除文件,则直接删除不走回收站,
        //      如果删除的是空文件夹,则直接删除,不走回收站
        //      如果删除的是有内容的文件夹,则删除失效
        File f4 = new File("D:\\idea\\xha\\a.txt");
        boolean b4 = f4.delete();
        System.out.println(b4);//true

        File f5 = new File("D:\\idea\\xha\\ccc");
        boolean b5 = f5.delete();
        System.out.println(b5);//true

3.File中常见的成员方法之获取并遍历(重要)

在这里插入图片描述
该方法的细节为:
在这里插入图片描述

   //1.public File[] listFiles()  获取当前路径下的所有内容
    //作用:获取文件夹里的所用内容,把所有内容方法数组中进行返回
    File f1 = new File("D:\\idea\\xha");
    File[] files = f1.listFiles();
    for (File file : files) {
        //file依次表示文件夹xha里的每一个文件或者文件夹
        System.out.println(file);/*D:\idea\xha\a.txt
                                   D:\idea\xha\b.txt
                                   D:\idea\xha\bbb
                                   D:\idea\xha\c.txt
                                   D:\idea\xha\ccc
                                   D:\idea\xha\ddd
                                   D:\idea\xha\fff*/
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值