IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java常用类--File类 -> 正文阅读

[Java知识库]Java常用类--File类

1. File类


1.1 File类简介

  • 在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件名、 文件路径、访问权限和修改日期等,还可以浏览子目录层次结构。
  • File 类表示处理文件和文件系统的相关信息。也就是说,File 类不具有从文件读取信息和向文件写入信息的功能,它仅描述文件本身的属性

1.2 File类的构造方法(构造方法不会产生新的文件)

public File(String pathname)

说明:

以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir(用户当前工作目录 )中存储。

  1. File的静态属性String separator存储了当前系统的路径分隔符。
    在这里插入图片描述

  2. 通过File对象可以访问文件的属性


1.3 File类常用方法

序号方法描述
1public String getName() 返回由此抽象路径名表示的文件或目录的名称。
2public String getParent() 返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回 null
3public File getParentFile() 返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null
4public String getPath() 将此抽象路径名转换为一个路径名字符串。
5public boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。
6public String getAbsolutePath() 返回抽象路径名的绝对路径名字符串。
7public boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。
8public boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。
9public boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
10public boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
11public boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。
12public long lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间。
13public long length() 返回由此抽象路径名表示的文件的长度。
14public boolean createNewFile() throws IOException 当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。
15public boolean delete() 删除此抽象路径名表示的文件或目录。
16public void deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
17public String[] list() 返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组。
18public String[] list(FilenameFilter filter) 返回由包含在目录中的文件和目录的名称所组成的字符串数组,这一目录是通过满足指定过滤器的抽象路径名来表示的。
19public File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。
20public File[] listFiles(FileFilter filter) 返回表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组,这些路径名满足特定过滤器。
21public boolean mkdir() 创建此抽象路径名指定的目录。
22public boolean mkdirs() 创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。
23public boolean renameTo(File dest) 重新命名此抽象路径名表示的文件。
24public boolean setLastModified(long time) 设置由此抽象路径名所指定的文件或目录的最后一次修改时间。
25public boolean setReadOnly() 标记此抽象路径名指定的文件或目录,以便只可对其进行读操作。
26public static File createTempFile(String prefix, String suffix, File directory) throws IOException 在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
27public static File createTempFile(String prefix, String suffix) throws IOException 在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。
28public int compareTo(File pathname) 按字母顺序比较两个抽象路径名。
29public int compareTo(Object o) 按字母顺序比较抽象路径名与给定对象。
30public boolean equals(Object obj) 测试此抽象路径名与给定对象是否相等。
31public String toString() 返回此抽象路径名的路径名字符串。

1.4 File类创建和删除功能

  • boolean createNewFile();指定路径不存在该文件时创建文件并返回true 否则false
  • boolean mkdir() 当指定的单级文件夹不存在时创建文件夹并返回true 否则false
  • boolean mkdirs() 当指定的多级文件夹在某一级文件夹不存在时,创建多级文件夹并返回true 否则false
  • boolean delete() 删除文件或者删除单级文件夹
    删除文件夹,这个文件夹下面不能有其他的文件和文件夹

实例:

当前文件目录:
在这里插入图片描述

1.4.1 mkdir()

        File dirs = new File("resource");
        dirs.mkdir(); // 如果目标目录不存在就创建文件目录

在这里插入图片描述


1.4.2 mkdirs()

        File dirs = new File("resource/file");
        dirs.mkdirs(); // 如果目标目录不存在就创建文件目录

执行完上述代码后的文件目录:
在这里插入图片描述


1.4.3 createNewFile ()

        File file = new File("resource/file/test.txt");
        file.createNewFile();//  如果目标文件不存在就创建文件

执行完上述代码后的文件目录:
在这里插入图片描述


1.4.4 delete()

        File file = new File("resource/file/test.txt");
        file.delete();

执行完上述代码后的文件目录:
在这里插入图片描述


1.5 File类的判断功能

  • boolean exists() 判断指定路径的文件或文件夹是否为空
  • boolean isAbsolute() 判断当前路径是否是绝对路径
  • boolean isDirectory() 判断当前的目录是否存在
  • boolean isFile() 判断当前的目录是否是一个文件
  • boolean isHidden() 判断当前路径是否是一隐藏文件

1.6 File类的获取功能和修改名字功能

  • File getAbsoluteFile() 获取文件的绝对路径,返回File对象
  • String getAbsolutePath() 获取文件的绝对路径,返回路径的字符串
  • String getParent() 获取当前路径的父级路径,以字符串形式返回该父级路径
  • String getName() 获取文件或文件夹的名称
  • String getPath() 获取File对象中封装的路径
  • long length() 返回文件的字节数
  • boolean renameTo(File dest) 将当前File对象所指向的路径修改为指定File所指向的路径

1.7 File 类的其他获取功能

  • String[] list(); 以字符串的形式返回当前路径下所有的文件和文件夹的名称
  • File[] listFiles() 以File对象的形式返回当前路径下的所有文件和文件夹名称
  • Static File[] listRoots() 获取计算机中的所有盘符

当前文件目录:
在这里插入图片描述

1.7.1 String[] list()

        File file = new File("resource");
        for (String mFile : file.list()) {
            System.out.println(mFile);
        }

在这里插入图片描述


1.7.2 File[] listFiles()

        File file = new File("resource");
        for (File mFile : file.listFiles()) {
            System.out.println(mFile);
        }

在这里插入图片描述


1.7.3 File[] listRoots()

        for (File root : File.listRoots()) {
            System.out.println(root);
        }

在这里插入图片描述


1.8 递归打印目标目录所有.txt文件

文件目录:
在这里插入图片描述

    public static void main(String[] args) {
        File file = new File("resource");
        method(file);
    }

    public static void method(File file) {
//判断文件是否是目录文件
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (File file1 : files) {
                //判断是否为文件
                if (file1.isFile()) {
                    //判断文件是否是以.txt结尾的文件
                    if (file1.getName().endsWith(".txt")) {
                        System.out.println(file1.getName());
                    }
                } else if (file1.isDirectory()) {
                    //回调,遍历file1
                    method(file1);
                }
            }
        }
    }

在这里插入图片描述



  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:36:16  更:2021-07-28 07:36:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/1 9:57:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码