File类 详细介绍(秒懂百科)

一、File类

在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。

1. File类主要是JAVA为文件这块的操作(如删除、新增等)而设计的相关类

2. File类的包名是java.io,其实现了Serializable, Comparable两大接口以便于其对象可序列化和比较

3. File它是文件和目录路径名的抽象表示,文件和目录是可以通过File封装成对象的,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。通过具体的操作把这个路径的内容转换为具体存在的.

方法名称

说明

File(String pathname)

通过将给定的路径名,字符串转换为抽象路径名来创建新的File实例

File(String parent,String child)

从父路径名,字符串和子路径名,字符串创建新的File实例

File(File parent,String child)

从父抽象路径名和子路径名,字符串创建新的File实例

二、File类创建功能 

方法名称

说明

public boolean createNewFile()

当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件

public boolean mkdir()

创建由此抽象路径名命名的目录

public boolean mkdirs()

创建由此抽象路径命名的目录,包括任何必需但不存在的父目录

三、File类的判断方法

方法名称

说明

boolean isDirectory()

 判断是否是文件夹(目录)

boolean isFile()

 判断是否是文件

boolean exists()

 判断文件是否存在

四、File类的获取方法

方法名称

说明

String getAbsolutePath()

获取绝对路径

String getPath()

获取抽象路径名转化路径名字符串

String getName()

 获取文件或文件夹的名称

String[] list()

获取目录下所有内容,返回字符串数组

File[] listFiles()

获取目录下的所有内容,返回File对象数组

五、绝对路径与相对路径

绝对路径与相对路径的区别:

1.绝对路径是指文件在硬盘上真正存在的路径。

2.相对路径是java工程中要访问的文件相对于当前文件的位置

六、File类的删除方法 

方法名称

说明

boolean delete()

 如果删除路径是一个目录,不能够直接删除目录,需要先删除该目录中所有内容,最后在删除目录。如果删除路径是一个文件可以直接删除。

 七、案例

7.1  创建和删除文件

File 类不仅可以获取已知文件的属性信息,还可以在指定路径创建文件,以及删除一个文件。创建文件需要调用 createNewFile() 方法,删除文件需要调用 delete() 方法。无论是创建还是删除文件通常都先调用 exists() 方法判断文件是否存在。

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

public class Test03 {
    public static void main(String[] args) throws IOException {
        File f = new File("e:\\a.txt"); // 创建指向文件的File对象
        if (f.exists()) // 判断文件是否存在
        {
            f.delete(); // 存在则先删除
        }
        f.createNewFile(); // 再创建
    }
}

7.2  创建和删除目录

import java.io.File;

public class Test04 {
    public static void main(String[] args) {
        String path = "e:/myconfig/java/def/"; // 指定目录位置
        File f = new File(path); // 创建File对象
        if (f.exists()) {
            f.delete();
        }
        //f.mkdir(); // 创建单个目录目录
        f.mkdirs(); //创建多级目录
    }
}

7.3  遍历目录

通过递归迭代

package a01_file;

import java.io.File;

public class FileTest2 {
    public static void main(String[] args) {
        File file = new File("C:\\sources\\JAVASE");
        rec(file);
    }

    public static void rec(File file){
        if(file.isFile()){
            System.out.println(file.getAbsolutePath());
        }
        if(file.isDirectory()){
            File[] files = file.listFiles();
            for (File f : files) {
                rec(f);
            }
        }
    }

}

八、总结

File类是Java中提供的用于操作文件和目录的类。它在java.io包中。

File类可以用来创建、删除、重命名以及查询文件和目录的信息。下面是File类的一些常用方法:

1. 构造方法:File类有多个构造方法,可以通过文件路径字符串或者父目录和子目录两个参数来创建一个File对象。

2. 创建文件或目录:可以使用createNewFile()方法来创建一个新的空文件,使用mkdir()方法来创建一个新的空目录,使用mkdirs()方法可以创建一个多级目录。

3. 文件属性查询:可以使用exists()方法来判断文件是否存在,使用isFile()方法来判断是否是文件,使用isDirectory()方法来判断是否是目录,使用canRead()和canWrite()方法来判断是否可读和可写。

4. 获取文件信息:可以使用getName()方法获取文件或目录的名称,使用getAbsolutePath()方法获取文件或目录的绝对路径,使用getParent()方法获取父目录的路径,使用length()方法获取文件的大小。

5. 文件操作:可以使用delete()方法删除文件或目录,使用renameTo()方法重命名文件或目录。

6. 目录遍历:可以使用list()方法返回目录下的所有文件和目录的名称数组,使用listFiles()方法返回目录下的所有文件和目录的File对象数组。

7. 文件输入输出:可以使用FileInputStream和FileOutputStream等类来进行文件的读取和写入操作。

需要注意的是,File类只是用来表示文件和目录的路径信息,它并不提供文件内容的读写功能。如果需要对文件内容进行读写操作,可以使用其他IO类或者NIO类库。

方法描述

public String getName()
返回由此抽象路径名表示的文件或目录的名称。

public String getParent()
返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回 null。

public File getParentFile()
返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null。

public String getPath()
将此抽象路径名转换为一个路径名字符串。

public boolean isAbsolute()
测试此抽象路径名是否为绝对路径名。

public String getAbsolutePath()
返回抽象路径名的绝对路径名字符串。

public boolean exists()
测试此抽象路径名表示的文件或目录是否存在。

public boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录。

public boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件。

public long length()
返回由此抽象路径名表示的文件的长度。

public boolean createNewFile() throws IOException
当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。

public boolean delete()
删除此抽象路径名表示的文件或目录。

public void deleteOnExit()
在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。

public String[] list()
返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组。

public File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。

public boolean mkdir()
创建此抽象路径名指定的目录。

public boolean mkdirs()
创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值