• java File类判断及获取功能


    File类判断和获取的方法主要有以下几种
    在这里插入图片描述
    话不多说 我们先来看代码

    import java.io.File;
    
    public class text {
        public static void main(String args[]) {
            File file = new File("D:\\学习案例\\java\\mins.java");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这里我们先引入File 然后用File创建了一个文件路径对象

    然后我们 来看第一个方法 isDirectory
    判断抽象路径指向的是不是一个目录

    我们在file 下面编写代码如下

    System.out.println(file.isDirectory());
    
    • 1

    运行结果如下
    在这里插入图片描述
    false 说明我们传的 File对象指向的不是一个目录 我们的路径是D:\学习案例\java\mins.java 明显.java是个文件的格式

    我们把代码改成

    public static void main(String args[]) {
        File file = new File("D:\\学习案例\\java\\mins");
        System.out.println(file.isDirectory());
    }
    
    • 1
    • 2
    • 3
    • 4

    再次运行
    在这里插入图片描述
    这些就判断成立了 因为D:\学习案例\java\mins 最终指向的还是一个文件目录

    然后我们来看 isFile 方法 判断file抽象路径 指向的是否是一个文件
    System.out.println(file.isDirectory());直接改成

    System.out.println(file.isFile());
    
    • 1

    运行结果如下
    在这里插入图片描述
    因为刚才我们都判断D:\学习案例\java\mins是个目录了 所以 他当然不是文件
    我们将他改回 D:\学习案例\java\mins.java

    public static void main(String args[]) {
        File file = new File("D:\\学习案例\\java\\mins.java");
        System.out.println(file.isFile());
    }
    
    • 1
    • 2
    • 3
    • 4

    运行结果如下
    在这里插入图片描述
    这样就可以了 D:\学习案例\java\mins.java显然就是一个文件

    然后我们来看 exists 判断File抽象路径是否存在

    直接将 System.out.println(file.isFile()); 改成

    System.out.println(file.exists());
    
    • 1

    运行结果如下
    在这里插入图片描述
    返回了true 因为我电脑里确实是有这个文件 这个路径是存在的
    那么我现在把他删了
    在这里插入图片描述
    再次点击运行
    在这里插入图片描述
    因为文件被删了 这个目录已经不存在了 就返回了false 条件假

    然后我们来看 getAbsolutePath 返回file对象的绝对路径

    直接把System.out.println(file.exists());改成

    System.out.println(file.getAbsolutePath());
    
    • 1

    运行结果如下
    在这里插入图片描述
    可能大家觉得没什么变化 是因为我们给File的本身也是绝对路径 之后可能会有相对路径 甚至有点文件对象是其他地方传给你的 你就可以通过这个拿到他的绝对路径

    getPath 获取封装路径

    将System.out.println(file.getAbsolutePath());改成

    System.out.println(file.getPath());
    
    • 1

    运行结果如下

    在这里插入图片描述
    这个方法就是 你封装时 传给他什么样的路径 他就还你什么样的路径

    getName 获取文件名称
    将System.out.println(file.getPath());改成

    System.out.println(file.getName());
    
    • 1

    运行结果如下
    在这里插入图片描述
    他可以拿到对应路径下文件或目录的名称 而且可以是不存在的 他只是拿了名字 不管你是不是真的有这个文件

    后面两个方法需要的是一个目录 所以我们改一下File

    File file = new File("D:\\学习案例\\java");
    
    • 1

    把他改为一个目录
    这个目录一定要是存在 而且有文件的
    然后在下面编写代码

    String[] fileList = file.list();
    for(String url : fileList) {
        System.out.println(url);
    }
    
    • 1
    • 2
    • 3
    • 4

    运行结果如下
    在这里插入图片描述
    大家可能没看到什么意思 那么找到自己电脑的 D:\学习案例\java目录
    在这里插入图片描述
    文件正好对上了 File 的 list方法 可以根据目录 返回他下面的目录和文件列表 成一个字符串数组

    listFiles方法 会返回目录下 文件和目录的绝对路径
    参考代码如下

    public static void main(String args[]) {
        File file = new File("D:\\学习案例\\java");
        File[] fileList = file.listFiles();
        for(File f : fileList) {
            System.out.println(f);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    运行结果如下
    在这里插入图片描述
    这里输出了我们D:\学习案例\java目录下所有文件和目录的绝对路径

    而且很神奇的是 listFiles是返回了一个file类型的数组 那么每一个下标都是一个File对象 那么就是说 他们单独也都可以调用File类的其他方法

  • 相关阅读:
    12、Python异常处理:try-except结构、自定义异常、finally用法
    动态规划c++
    Java中的方法是什么?(Java系列2)
    TCP/IP之IP地址分类
    python的paramiko实现ssh登录
    高校网络安全体系建设及零信任安全架构应用的探索
    【Linux从入门到精通】通信 | 管道通信(匿名管道 & 命名管道)
    Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)
    cesium 重点区域大屏展示效果(加载行政区划)
    二叉树 | 翻转二叉树 | leecode刷题笔记
  • 原文地址:https://blog.csdn.net/weixin_45966674/article/details/126843720