admin管理员组

文章数量:1558086

文件操作

    • 一、IO概述
    • 二、File类
      • 1.1File类构造函数
      • 1.2File文件获取相关信息
      • 1.3文件或文件夹的创建和删除
      • 1.4listFiles()方法介绍
      • 1.5文件过滤器

一、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方法接受两个参数,一个当前文件或文件夹所在的路径,一个是当前文件或文件夹对象的名称。

本文标签: 操作文件Java