File类详解

本文详细介绍了Java中的File类,包括其静态成员变量如pathSeparator和separator,以及如何创建绝对路径和相对路径。通过多个构造方法展示了File类的用法,并列举了如获取文件路径、名称、长度、是否存在等常用方法。此外,还讲解了如何创建、删除文件和目录,以及遍历目录的方法。
摘要由CSDN通过智能技术生成

概述

java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作;

File类的静态成员变量

    	//名称分隔符,windows下是分号 ;    linux下是冒号 :
        File.pathSeparator;

        //文件名称分隔符,windows下是反斜杠 \   linux下是 /
        File.separator;

绝对路径和相对路径

绝对路径 : 一个完整的路径; 例: C:\demo\a.txt
相对路径 : 是一个简化的路径; 例: 当前项目路径是:C:\demo,找a.txt就可以直接写a.txt(省略项目的根目录)

File类的构造方法

        //构造方式一: 直接传一个String类型地址
        File file = new File("C:\\demo\\a.txt");
        //C:\demo\a.txt
        System.out.println(file);

        //构造方式二:传两个String类型地址,最后拼接
        File file1 = new File("C:", "\\demo\\a.txt");
        //C:\demo\a.txt
        System.out.println(file1);

        //构造方式三:传一个File类和一个String
        File parent = new File("C:");
        File file2 = new File(parent, "\\demo\\a.txt");
        //C:\demo\a.txt
        System.out.println(file2);

File类常用方法

        File file = new File("D:\\demo\\a.txt");

        //获取此File绝对路径字符串;   D:\demo\a.txt
        file.getAbsoluteFile();

        //将此File转换成路径名称字符串;   D:\demo\a.txt
        file.getPath();

        //返回此File表示的文件或目录的名称;   a.txt
        file.getName();

        //返回此File表示的文件的内容长度;因为a.txt不存在,所以结果是0;
        file.length();

        //此File表示的文件或者目录是否存在,a.txt不存在,结果是false;
        file.exists();

        //此File表示的是否为目录;false
        file.isDirectory();

        //此File表示的是否为文件;true
        file.isFile();

        //文件不存在,创建文件,返回true;文件存在,不会创建,返回false;
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //删除由此File表示的文件或路径;
        file.delete();

        //创建单级空文件夹
        file.mkdir();

        //创建多级空文件夹
        file.mkdirs();

File遍历目录

        File file = new File("D:\\demo\\abc\\def\\hij");

        //使用list方法返回一个目录的数组
        String[] fileArr = file.list();
        //遍历获取到的是最后这个目录下的文件或文件夹的名称
        //如果最后一个是文件或者路径不存在,都会报空指针异常
        for (String fileName : fileArr) {
            /*a.txt
            b.txt
            c.txt
            新建文件夹*/
            System.out.println(fileName);
        }
		//使用listFiles方法返回一个目录的数组
        //遍历获取到的是最后这个目录下的文件或文件夹的绝对路径
        File[] files = file.listFiles();
        /*D:\demo\abc\def\hij\a.txt
        D:\demo\abc\def\hij\b.txt
        D:\demo\abc\def\hij\c.txt
        D:\demo\abc\def\hij\新建文件夹*/
        for (File filesName : files) {
            System.out.println(filesName);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值