Java基础-File

.1 File定义

File对象表示一个路径,可以是文件路径也可以是文件夹的路径

这个路径可以是存在的也可以是不存在的

.2 File构造方法

.2.1 根据文件路径创建文件对象

        //创建文件夹对象
        //1.根据字符串表示的路径,变成File对象
        String str= "C:\\Users\\ImmortalsK\\Desktop\\集合体系结构.docx";
        File f1 = new File(str);
        System.out.println(f1);

.2.2 根据父路径名字符串和子路径名子符串创建文件对象

        //根据父级字符串和子级字符串创建文件对象
        String parent = "C:\\Users\\ImmortalsK\\Desktop";
        String child = "集合体系结构.docx";
        File f2 = new File(parent,child);
        System.out.println(f2);

2.3 根据父路径对应文件对象和子路径名字符串创建文件对象

        //根据父级文件对象和子级字符串创建文件对象
        File parent2 = new File("C:\\Users\\ImmortalsK\\Desktop");
        String child2 = "集合体系结构.docx";
        File f3 = new File(parent2,child2);
        System.out.println(f3);

.3 File成员方法

.3.1 判断

存在返回true 不存在返回false 

        //对一个文件路径进行判断
        File f1 = new File("C:\\Users\\ImmortalsK\\Desktop\\德育分证明\\文体活动\\“盎然春光,一切‘植’得”蚂蚁森林线上合种树活动证明.png");

        //判断是否是文件
        System.out.println(f1.isFile());

        //判断是否是文件夹
        System.out.println(f1.isDirectory());

        //判断文件/文件夹是否存在
        System.out.println(f1.exists());

.3.2 获取

        File f1 = new File("C:\\Users\\ImmortalsK\\Desktop\\德育分证明\\文体活动\\“盎然春光,一切‘植’得”蚂蚁森林线上合种树活动证明.png");
        //返回文件大小(字节数量)单位 :字节
        //无法获取文件夹的大小
        System.out.println(f1.length());

        //获取文件的绝对路径 定义的时候相对绝对路径都是获取的绝对路径
        System.out.println(f1.getAbsoluteFile());

        //返回定义文件对象时的路径
        System.out.println(f1.getPath());

        //获取名字
        //  文件 文件名和后缀
        //  文件夹  文件夹名
        System.out.println(f1.getName());

        //返回文件的最后修改时间(时间毫秒值)
        System.out.println(f1.lastModified());
        Date date = new Date(f1.lastModified());
        //转成日期
        DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时 mm分 ss秒");
        System.out.println(dateFormat.format(date));

.3.3 创建

 创建成功返回true 创建失败返回false

        //创建一个新的空文件夹
        // 如果当前路径表示的文件是不存在的,则创建成功,返回true 反正返回false
        // 如果父级路径不存在,那么方法会有异常IOException
        //  createNewFile()创建的一定是一个文件,如果路径中不包含后缀名,那么创建出来的文件也不包含后缀名
        File f2 = new File("D:\\BaiduNetdiskDownload\\aaa");
        boolean b = f2.createNewFile();
        System.out.println(b);

        //创建单级文件夹(目录)
        //window系统中路径是唯一的,如果路径已经存在那么就会创建失败,返回false
        //mkdir方法只能创建单级文件加,无法创建多级文件夹
        File f3 = new File("D:\\BaiduNetdiskDownload\\bbb");
        boolean c = f3.mkdir();
        System.out.println(c);

        //创建多级文件夹(目录)
        //既可以创建单级文件夹也可以创建多级文件夹 一般都是用mkdirs
        File f4 = new File("D:\\BaiduNetdiskDownload\\bbb\\ccc\\aaa");
        boolean d = f4.mkdirs();
        System.out.println(d);

.3.4 删除

 delete方法默认只能删除文件和空文件夹,delete方法直接删除不走回收站

删除成功返回true 删除失败返回false

        //删除文件 直接删除不进回收站
        //直接删除文件
        //删除文件夹时 如果文件夹里面有内容 删除失败返回false
        boolean e = f3.delete();
        System.out.println(e);

.3.5获取并遍历

         当调用者File表示的路径不存在时,返回null

        当调用者File表示的路径是文件时,返回null

        当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组

        当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放到File数组中返回

        当调用者File表示的路径有一个隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件

        当调用者File表示的路径是需要权限才能访问的文件夹时,返回null

        //获取并遍历
        //获取文件夹里面的所有内容,把所有内容放到数组中返回
        File f5 = new File("D:\\解限机");
        File[] files = f5.listFiles();
        for (File file : files) {
            //file依次表示文件夹里面的每一个文件或者文件夹
            System.out.println(file);
        }

 

.3.6 获取当前路径下的所有内容(只能获得名字)

        File f5 = new File("D:\\解限机");
        //list()  获取当前路径下的所有内容(只能获得名字)
        String[] list = f5.list();
        for (String s : list) {
            System.out.println(s);
        }

        //list(FilenameFilter filter) 利用文件名过滤器获取当前路径下的所有内容  //listFiles()也可以代替
        //accept方法的形参 依次表示aaa文件夹里面的每一个文件或者文件夹的路径
        //参数一:File父级路径
        //参数二:String子级路径
        String[] list1 = f5.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                //获取某个文件夹里的txt文件
                File src = new File(dir, name);
                return src.isFile() && name.endsWith(".txt");
            }
        });
        System.out.println(Arrays.toString(list1));

.4 File静态方法

listRoots 获取盘符

返回 :

[C:\, D:\]

        //File的静态方法 listRoots 获取系统中所有的盘符
        File[] files1 = File.listRoots();
        System.out.println(Arrays.toString(files1));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值