Java中的File详细说明

File的概述-->


File常见的构造方法-->

代码示范--->

        /*
        public File(String pathname) 根据文件路径创建文件对象
        根据字符串表示的路径,创建File对象
        */
        String str = "E:\\java_code\\a.txt";
        File f1 = new File(str);
        System.out.println(f1);//结果:E:\java_code\a.txt

        //public File(String parent, String child)  根据父路径名字符串和子路径名字符串创建文件        对象
        String parent = "E:\\java_code";
        String child = "a.txt";
        File f2 = new File(parent, child);
        System.out.println(f2);//结果:E:\java_code\a.txt

        //public File(File parent, String child)  根据父路径对应文件对象和子路径名字符串创建文件对象
        File f3 = new File("E:\\java_code");
        String child2 = "a.txt";
        File f4 = new File(f3, child2);
        System.out.println(f4);//结果:E:\java_code\a.txt

小结--->


File的成员方法-->

File的常见成员方法(判断、获取)--->

代码示范--->

先创建文件及文件夹准备-->

判断--->
//1.对一个文件的路径进行判断
        File f1 = new File("E:\\Data\\aaa\\a.txt");
        System.out.println(f1.isDirectory());//结果:false
        System.out.println(f1.isFile());//结果:true
        System.out.println(f1.exists());//结果:true

        System.out.println("----------------------------");

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

        System.out.println("----------------------------");

        //3.对一个不存在的路径进行判断
        File f3 = new File("E:\\Data\\aaa\\c.txt");
        System.out.println(f3.isDirectory());//结果:false
        System.out.println(f3.isFile());//结果:false
        System.out.println(f3.exists());//结果:false
获取--->
        /*
        1.length  返回文件的大小(字节数量)
        细节:只能获取文件的大小,如果单位要M、G,可以不断的除以1024
        细节:这个方法无法获取文件夹的大小,如果要获取一个文件夹的大小,需要把这个文件夹里面所有的文件大小都累加在一起
         */
        File f1 = new File("E:\\Data\\aaa\\a.txt");
        System.out.println(f1.length());//结果:22

        File f2 = new File("E:\\Data\\aaa\\bbb");
        System.out.println(f2.length());//结果:0

        //2.getAbsolutePath 返回文件的绝对路径
        File f3 = new File("E:\\Data\\aaa\\a.txt");
        System.out.println(f3.getAbsolutePath());//结果:E:\Data\aaa\a.txt

        File f4 = new File("myFile\\a.txt");
        System.out.println(f4.getAbsolutePath());//结果:E:\java_code\myFile\a.txt

        //3.getPath 返回定义文件时使用的路径
        File f5 = new File("E:\\Data\\aaa\\a.txt");
        System.out.println(f5.getPath());//结果:E:\Data\aaa\a.txt

        File f6 = new File("myFile\\a.txt");
        System.out.println(f6.getPath());//结果:myFile\a.txt

        /*
        4.getName 获取名字
        细节:调用者是文件:返回文件名+后缀名
        细节:调用者是文件夹:返回文件夹名
         */
        File f7 = new File("E:\\Data\\aaa\\a.txt");
        System.out.println(f7.getName());//结果:a.txt

        File f8 = new File("E:\\aaa\\bbb");
        System.out.println(f8.getName());//结果:bbb

        //lastModified  返回文件的最后修改时间(时间毫秒值)
        File f9 = new File("E:\\Data\\aaa\\a.txt");
        System.out.println(f9.lastModified());//结果:1701698784865


File的常见成员方法(创建、删除)--->

代码示范--->

        /*
        1.createNewFile   创建一个新的空的文件
        细节1:如果当前路径表示的文件是不存在的,则创建成功,方法返回ture
              如果d当前路径表示的文件是存在的,则创建失败,方法返回false
        细节2:如果父级路径是不存在的,那么方法会有异常IOException
        细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件
         */
        File f1 = new File("E:\\Data\\aaa\\c.txt");
        boolean b1 = f1.createNewFile();
        System.out.println(b1);//结果:true

        File f2 = new File("E:\\Data\\aaa\\ddd");
        boolean b2 = f2.createNewFile();
        System.out.println(b2);//结果:true

        /*
        2.mkdir   创建单级文件夹
        细节1:windows当中路径是唯一的,如果路径已经存在,则创建失败,返回false
        细节2:mkdir方法只能创建单级文件夹,无法创建多级文件夹
         */
        File f3 = new File("E:\\Data\\aaa\\ddd");
        boolean b3 = f3.mkdir();
        System.out.println(b3);//结果:false

        File f4 = new File("E:\\Data\\aaa\\eee");
        boolean b4 = f4.mkdir();
        System.out.println(b4);//结果:true

        /*
        3.mkdirs  创建多级文件夹
        细节:既可以创建单级的,又可以创建多级的文件夹
         */
        File f5 = new File("E:\\Data\\aaa\\aaa\\bbb\\ccc");
        boolean b5 = f5.mkdirs();
        System.out.println(b5);//结果:true

        File f6 = new File("E:\\Data\\aaa\\ggg");
        boolean b6 = f6.mkdirs();
        System.out.println(b6);//结果:true

        /*
        4.delete  删除文件、空文件夹(不进入回收站)
        细节:
            如果删除的是文件,则直接删除,不走回收站
            如果删除的是空文件夹,则直接删除,不走回收站
            如果删除的是有内容的文件夹,则删除失败
         */
        File f7 = new File("E:\\Data\\aaa\\a.txt");
        boolean b7 = f7.delete();
        System.out.println(b7);//结果:true

        File f8 = new File("E:\\Data\\aaa\\aaa");
        boolean b8 = f8.delete();
        System.out.println(b8);//结果:false

        File f9 = new File("E:\\Data\\aaa\\eee");
        boolean b9 = f9.delete();
        System.out.println(b9);//结果:true

File的常见成员方法(获取并遍历)--->

通常只会用到public File[] listFiles()        获取当前路径下所有内容

代码示范--->

        /*
        public File[] listFiles()   获取当前路径下所有内容
        细节:
            当调用者File表示的路径不存在时,返回null
            当调用者File表示的路径是文件夹时,返回null
            当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组
            当调用者File表示的路径是一个有内容的文件夹时,将里面的所有文件和文件夹的路径放在File数组中返回
            当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面的所有文件和文件夹的路径放在File数组中返回,包含隐藏文件
            当调用者File表示的路径是一个需要权限才能访问的文件夹时,返回null
         */

        //1.创建File对象
        File f = new File("E:\\Data\\aaa");
        //listFiles方法
        File[] files = f.listFiles();
        for (File file : files) {
            //file依次表示aaa文件夹里面的每一个文件或者文件夹
            System.out.println(file);
            /*
            结果:
            E:\Data\aaa\a.avi
            E:\Data\aaa\aaa
            E:\Data\aaa\b.txt
            E:\Data\aaa\bbb
            E:\Data\aaa\c.txt
            E:\Data\aaa\ccc
            E:\Data\aaa\ddd
            E:\Data\aaa\fff
            E:\Data\aaa\ggg

             */


  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值