Java文件操作

一、IO概述

数据可以保存在内存中,但是程序运行结束之后数据就会消失不见。因此,可以将数据保存到内存以外的其他持久化设备(U盘,硬盘,光盘等)上。

  • 当从内存中存储数据到持久化设备时,这个动作被称为输出(写)Output操作;
  • 当从持久化设备上读取数据到内存时,这个动作被称为输入(读)Input操作。
    因此我们把这种输入和输出动作统称为IO操作

二、File类

File 类是Java中对文件和目录路径名的抽象表示形式。即,Java中把文件和目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件或者文件夹只要找到File这个类即可。

1.1File类构造函数

在这里插入图片描述
通过构造方法创建File对象,如下代码:

public class FileDemo {

    public static void main(String[] args) {
        //File 构造函数演示
        //指定文件路径,构造文件对象
        String pathName = "E:\\学习笔记\\Spring\\images\\Spring框架.png";
        //将pathName封装成File对象。注意:可以封装不存在的文件或者文件夹变成对象
        File file1 = new File(pathName);
        System.out.println(file1);
        
        //指定文件的parent路径,和child的路径创建File对象
        File file2 = new File("E:\\学习笔记\\Spring\\images", "Spring框架.png");
        System.out.println(file2);
        
        //将parent封装成File对象
        File parent = new File("E:\\学习笔记\\Spring\\images");
        File child = new File(parent, "Spring框架.png");
        System.out.println(child);
    }
}

1.2File文件获取相关信息

创建完File文件对象,可以通过如下方法获取相关File对象的信息。
在这里插入图片描述

  • 方法演示如下:
public class FileDemo {

    public static void main(String[] args) {
        //File 构造函数演示
        //指定文件路径,构造文件对象
        String pathName = "E:\\IJCode\\LearningJava\\src\\com\\java\\FlagClass.java";
        File file = new File(pathName);

        //获取文件的绝对路径,即全路径
        String absolutePath = file.getAbsolutePath();
        //返回此抽象路径名表示的文件或目录的名称
        //File对象中封装的是什么,这里输出什么
        String path = file.getPath();
        //获取文件名称
        String name = file.getName();
        //获取文件大小
        long length = file.length();

        System.out.println("absolutePath : " + absolutePath);
        System.out.println("path : " + path );
        System.out.println("name : " + name);
        System.out.println("file size : " + length);
    }
}

1.3文件或文件夹的创建和删除

在这里插入图片描述

1.4listFiles()方法介绍

文件都存放在目录当中,可以通过File类提供了listFiles()方法获取文件一个目录中所有的文件和文件夹。
在这里插入图片描述

注意:在获取指定目录下的文件或文件夹时必须满足下面两个条件
1.指定的目录必须存在
2.指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException

1.5文件过滤器

listFiles()函数可以获取当前目录下的所有文件,那么可以在获取文件列表时,加入一个过滤器,只获取指定格式的文件。在Java中,有两种文件过滤器文件过滤器(FileFilter)和文件名过滤器(FileNameFilter)。使用者可以实现上述两个过滤器接口,自定义实现accpet方法。

  1. 文件过滤器FileFilter

FileFilter 过滤器中的accept方法接受一个参数,这个参数就当前文件或文件夹对象

在这里插入图片描述
2. 文件名过滤器FileNameFilter

FilenameFilter过滤器中的accept方法接受两个参数,一个当前文件或文件夹所在的路径,一个是当前文件或文件夹对象的名称。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值