34File类

1.1 File类概述和构造方法【应用】

  • File类介绍

    • 它是文件和目录路径名的抽象表示
    • 文件和目录是可以通过File封装成对象的
    • 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的
  • File类的构造方法

方法名 说明
File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例
File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例
File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例

1.2 File类创建功能【应用】

方法名 说明
public boolean createNewFile() 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空 文件
public boolean mkdir() 创建由此抽象路径名命名的目录
public boolean mkdirs() 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录

Notice:

File类创建功能:
public boolean createNewFile():当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件
如果文件不存在,就创建文件,并返回true
如果文件存在,就不创建文件,并返回false

public boolean mkdir():创建由此抽象路径名命名的目录
如果目录不存在,就创建目录,并返回true
如果目录存在,就不创建目录,并返回false

public boolean mkdirs():创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录
如果目录不存在,就创建目录,并返回true
如果目录存在,就不创建目录,并返回false

import java.io.File;
import java.io.IOException;

public class test {
    public static void main(String[] args) throws IOException {
        //创建单级目录
        File f1 = new File("F:\\Java_Learning\\Files");
        System.out.println(f1.mkdir());

        //创建多集目录
        File f2 = new File("F:\\Java_Learning\\Files\\Test\\test\\01");
        System.out.println(f2.mkdirs());

        //创建文件
        File f3 = new File("F:\\Java_Learning\\Files\\java.txt");
        System.out.println(f3.createNewFile());
    }
}

1.3 File类判断和获取功能【应用】

  • 判断功能
方法名 说明
public boolean isDirectory() 测试此抽象路径名表示的File是否为目录
public boolean isFile() 测试此抽象路径名表示的File是否为文件
public boolean exists() 测试此抽象路径名表示的File是否存在
  • 获取功能
方法名 说明
public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
public String getPath() 将此抽象路径名转换为路径名字符串
public String getName() 返回由此抽象路径名表示的文件或目录的名称
public String[] list() 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组
public File[] listFiles() 返回此抽象路径名表示的目录中的文件和目录的File对象数组
public class test2 {
    public static void main(String[] args) throws IOException {

        File f = new File("F:\\Java_Learning\\Files\\test02.java");
        f.createNewFile();
        System.out.println(f.isDirectory());//false
        System.out.println(f.isFile());//true
        System.out.println(f.exists());//true
        System.out.println("---------------");

        System.out.println(f.getAbsolutePath());//F:\Java_Learning\Files\test02.java
        System.out.println(f.getPath());//F:\Java_Learning\Files\test02.java
        System.out.println(f.getName());//test02.java
        System.out.println("---------------");

        File f2 = new File("F:\\Java_Learning\\Files");
        String[] str = f2.list();
        for (String s:str){
            System.out.println(s);
        }
        /* 输出该路径下所有目录and文件
            java.txt
            Test
            test02.java
          */

        System.out.println("---------------");
        File [] fileArray = f2.listFiles();
        for(File file:fileArray){
            System.out.println(file);
//            if(file.isFile()){//判断是不是文件
//                System.out.println(file.getName());
//            }
        }
        /* 输出该路径下所有目录and文件路径全称
        F:\Java_Learning\Files\java.txt
        F:\Java_Learning\Files\Test
        F:\Java_Learning\Files\test02.java
        */

    }
}

1.4 File类删除功能【应用】

方法名 说明
public boolean delete() 删除由此抽象路径名表示的文件或目录
  • Notice:

    如果要删除的目录里面有内容,必须吧目录里的内容删除才能删除该目录。

Snipaste_2021-09-25_16-15-44

posted @ 2021-11-21 15:32  zjh1170  阅读(34)  评论(0)    收藏  举报