File 类

File 类

  • java.io.File 类:文件和目录路径名的抽象表示形式,与平台无关

  • File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用 输入/输出流(I/O流)。

  • File 对象可以作为参数传递给流的构造函数

  • File 类的常见构造方法如下:

    • public File(String pathname)

      以 pathname 为路径创建 FIle 对象,可以是绝对路径或者相对路径,如果 pathname 是相对路径,则默认的当前路径在系统属性 user.dir 中存储。

       // 对象 f1 就是 test.txt 文件
      File f1 = new File("D:\\JAVA\\Java 基础入门\\IO 流\\test\\text.txt");
      // 在文件路径中 \ 表示路径的分隔符,但是在 java 编程中 \ 表示转义符
      // 在 java 中 \\ 或者 / 才是文件的分隔符
      File f2 = new File("D:/JAVA/Java 基础入门/IO 流/test/text.txt");
      
    • public File(String parent, String chile)

      以 parent 为父路径,child 为子路径创建 File 对象。

       // 对象 f3 也是 test.txt 文件
      File f3 = new File("D:\\JAVA\\Java 基础入门","IO 流\\test\\text.txt");
      
  • File 的静态属性 String separator 存储了当前系统的路径分隔符。

  • 在 UNIX 中,此字段为’/’,在 Windows 中为’\\’

在这里插入图片描述

访问文件名

  • getName():获取当前文件名或者文件夹名称

    //输出当前文件名或者文件夹名称
    System.out.println(f.getName);
    
  • getPath():获取当前文件或者文件夹的路径,就是 new File 的时候写的路径

    //输出文件或者文件夹的路径
    System.out.println(f1.getPath());
    
  • getAbsolutePath():获取文件或文件夹的绝对路径,如果是相对路径,会自动补齐

    File f4 = new File("src\\com\\aze\\io\\fileclass\\Demo01.java");//这里使用相对路径创建 File 对象
    // 获取文件或者文件夹的绝对路径
    System.out.println(f4.getAbsolutePath());
    
  • getAbsoluteFile():返回一个用当前文件的绝对路径构建的 File 对象

    System.out.println(f4);
    // 返回一个用当前文件的绝对路径构建的 File 对象
    System.out.println(f4.getAbsoluteFile());
    
  • getParent():返回当前文件或者文件夹的父级路径

// 返回当前文件或者文件夹的父级路径
System.out.println(f1.getParent());
System.out.println(f4.getParent());
  • renameTo(new File(“newName”)):给文件或者文件夹重命名

    // 给文件或者文件夹重命名
    f1.renameTo(new File("D:\\JAVA\\Java 基础入门\\IO 流\\test\\01.txt"));
    

文件检测

  • exists():判断文件或者文件夹是否存在

    // 判断文件或者文件夹是否存在
    System.out.println(f1.exists());
    
  • canRead():判断文件或者文件夹是否可读

    // 判断文件或者文件夹是否可读
    System.out.println(f1.canRead());
    
  • canWrite():判断文件或者文件夹是否可写

    // 判断文件或者文件夹是否可写
    System.out.println(f1.canWrite());
    
  • isFile():判断当前 File 对象是否是一个文件

    // 判断当前的 File 对象是否是一个文件
    System.out.println(f1.isFile());
    
  • isDirectory():判断当前 File 对象是否是一个文件夹

    // 判断当前的 File 对象是否是一个文件夹
    System.out.println(f1.isDirectory());
    

获取常规文件信息

  • lastModified():获取文件最后的修改时间,返回最后修改时间的毫秒数

    // 获取文件的最后修改时间,返回的是毫秒数
    System.out.println(f1.lastModified());
    
  • length():获取文件的长度,单位为字节数

    // 获取文件的长度,单位是字节数
    System.out.println(f1.length());
    

文件相关操作

  • createNewFile():创建文件

    //创建一个 File new File 的文件不存在
    File f1 = new File("D:\\JAVA\\Java 基础入门\\IO 流\\test\\demo.txt");
    if (!f1.exists()) { //判断文件是否存在,如果不存在,则执行以下代码
    	//捕获异常
        try {
            //创建新的文件
            f1.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //判断文件是否存在
    System.out.println(f1.exists());
    
  • delete():删除文件

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

目录相关操作

  • mkdir():创建单层目录,只能创建一层目录

    if (!f1.exists()) {//判断目录是否存在,如果不存在,则执行
    //创建目录
    f1.mkdir();
    }
    System.out.println(f1.exists());
    
  • mkdirs():创建多层目录,如果不想目录一层一层创建,就直接创建多层目录

    File f2 = new File("D:\\JAVA\\Java 基础入门\\IO 流\\test\\a\\b\\c");
    if (!f2.exists()) {//判断目录是否存在,如果不存在,则执行
    //创建多层目录
    f2.mkdirs();
    }
    
  • list():返回当前目录下的文件和文件夹

    File f3 = new File("D:\\JAVA\\Java 基础入门\\IO 流\\test");
    // list 返回当前文件夹下的文件和文件夹
    String[] sf3 = f3.list();
    //遍历当前文件夹下的子集(所有的文件和文件夹)
    for (String s : sf3) {
    System.out.println(s);
    }
    
  • listFilee():返回当前文件夹下的子集的 File 对象,包括了文件和文件夹

    //返回当前文件夹下的子集的 File 对象,包括了文件和文件夹
    File[] files = f3.listFiles();
    //遍历
    for (File f : files) {
    System.out.println(f);
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值