【IO】文件操作-2. 文件系统操作

文件系统操作,我们需要了解是怎么操作的,文件是存储在硬盘上的,直接通过代码操作硬盘,不是很方便,就在内存中创建一个对应的对象,通过操作这个内存中的对象,就可以间接影响到硬盘的文件情况~
所以,Java 标准库给我们提供了 File 这个类,File 对象是硬盘上的一个文件"抽象"的表示,通过代码对 File 对象的操作,间接影响硬盘的文件内容
打个形象的比方,这里的 File 对象相当于遥控器,我们可以通过控制遥控器,即通过代码操作 File 对象,来间接控制电视频道,即间接控制硬盘的文件

2.1 构造 File 对象

File类构造方法如下:
在这里插入图片描述
其中,最常用的还是第2种,构造的过程中,可以使用绝对路径/相对路径 进行初始化
注意:这个路径指向的文件,可以是真实存在的,也可以是不存在的!!! 这里是不受限制的~
创建 File 对象,需要导入该包
在这里插入图片描述

import java.io.File;

具体创建 File 对象过程如下:

public class IODemo {
    public static void main(String[] args) throws IOException {
        File file = new File("d:/student.txt");  
        //这里可以是相对路径,也可以是绝对路径
    }
}

2.2 File 提供的方法

在这里插入图片描述这些方法,我们一看名字,就知道怎么用,很容易理解,不需要去记,在实践中掌握就可以啦~ 忘记或者不会的,查查就可以!
其中需要注意的是:
【Q】如果输入的路径,文件不存在,系统会自动创建一个文件吗?
【A】并不会,只有手动调用 createNewFile() 方法,才可以创建文件(注意文件是文件,目录是目录,区分开来!!!)
下面,我们进行代码的演示,以熟悉上述操作:
1)前面五种操作,返回值均为 boolean 类型

public class IODemo1 {
    public static void main(String[] args) throws IOException {

        File file = new File("d:/student.txt");
        System.out.println(file.getParent());
        System.out.println(file.getName());
        System.out.println(file.getPath());
        System.out.println(file.getAbsoluteFile());
        System.out.println(file.getCanonicalFile());
    }
}

打印结果如下:
在这里插入图片描述
2)接下来的五种操作

public class IODemo2 {
    public static void main(String[] args) throws IOException {
        File file = new File("./hello world.txt");

        System.out.println(file.exists());
        System.out.println(file.isDirectory());
        System.out.println(file.isAbsolute());

        //创建文件
        file.createNewFile();

        System.out.println(file.exists());
        System.out.println(file.isDirectory());
        System.out.println(file.isFile());

        //删除文件之后
        file.delete();
        System.out.println(file.exists());
    }
}

打印结果如下:
在这里插入图片描述
3)创建目录

public class IODemo3 {
    public static void main(String[] args) {
        File file = new File("test-dir/aaa/bbb");
        //只能创建1个目录
        //file.mkdir();
        //创建多级目录
        file.mkdirs();
    }
}

打印结果如下:可以在左侧看到,文件夹test-dir,创建了多级目录
在这里插入图片描述
4)罗列目录下的内容

public class IODemo4 {
    public static void main(String[] args) {
        File file = new File("test-dir");
        //罗列目录下的内容
        String[] result1 = file.list();
        System.out.println(Arrays.toString(result1));
        File[] result2 = file.listFiles();
        System.out.println(Arrays.toString(result2));
    }
}

打印结果如下:
在这里插入图片描述
5)修改文件名字

public class IODemo5 {
    public static void main(String[] args) {
        File src = new File("./test-dir");
        File dest = new File("./test123");
        src.renameTo(dest);
    }
}

打印结果如下:
在这里插入图片描述
以上是 File 类方法的一些基本操作演示,通过这些案例,我们更够更加熟悉叭~

上一篇:【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【17】认证服务01—短信/邮件/异常/MD5-邮件服务


下一篇:使用nodejs输出著作权申请所需的word版源码