java中File类

1、介绍

File类定义了一些与平台无关的方法来操作文件,可以通过调用File类中的方法,实现创建、删除、重命名文件等操作。File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件长度、文件读写权限等。数据流可以将数据写入到文件中,文件也是数据流最常用的数据媒体。

2、文件的创建与删除

使用File类创建一个文件对象。通常使用以下3种构造方法来创建文件对象。

一、File(String pathname)

该构造方法通过将给定路径名字字符串转换为抽象路径名来创建一新File实例。

语法:new File(String pathname)

其中,pathname指路径名称(包含文件名)

语法:File file=new File("d:/1.txt");

二、File(String parent,String child)

该构造方法根据定义的父路径和子路径字符串(包含文件名)创建一个新的File对象。

语法:new File(String parent,String child)

parent:父路径字符串,如D:/或D:/doc/

child:子路径字符串,如letter.txt

三、File(File f,String child)

该构造方法根据parent抽象路径名和child路径名字符串创建一个新File实例。

语法:new File(File f,String child)

f:父路径对象,列如D:/doc/

child:子路径字符串,如letter.txt

2.1 程序代码(列子)
java 复制代码
import java.io.File;

/**
 * 这是一个测试文件操作的Java程序,用于检查、创建或删除文件。
 */
public class FileTest {

    public static void main(String[] args) {
        // 创建一个File对象,代表当前目录下的word.txt文件
        File file = new File("word.txt");

        // 使用exists()方法检查文件是否存在
        if (file.exists()) {
            // 如果文件存在
            file.delete(); // 调用delete()方法删除该文件
            System.out.println("该文件已经删除"); // 输出提示信息
        } else {
            // 如果文件不存在
            try {
                // 使用createNewFile()方法尝试创建文件
                file.createNewFile();

                System.out.println("该文件已经创建"); // 输出提示信息
            } catch (Exception e) {
                // 捕捉并处理可能发生的异常
                // createNewFile()方法通常不会抛出异常,除非发生了I/O错误
                e.printStackTrace(); // 打印异常堆栈信息
            }
        }
    }
}
2.2 程序运行结果

3、获取文件信息

File类提供了很多方法以获取文件本身信息,其中常用方法如下表:

|--------------------|---------|-----------------|
| 方法 | 返回值 | 说明 |
| getName() | String | 获取文件的名称 |
| canRead() | boolean | 判断文件是否为可读的 |
| canWrite() | boolean | 判断文件是否可被写入 |
| exits() | boolean | 判断文件是否存在 |
| length() | long | 获取文件的长度(以字节为单位) |
| getAbsoluterPath() | String | 获取文件的绝对路径 |
| getParent() | String | 获取文件的父路径 |
| isFile() | boolean | 判断文件是否存在 |
| isDirectory() | boolean | 判断文件是否为一个目录 |
| isHidden() | boolean | 判断文件是否为隐藏文件 |
| lastModified() | long | 获取文件最后修改时间 |
[File类的常用方法]

3.1 程序代码(列子)
java 复制代码
import java.io.File;

/**
 */
public class FileTest1 {
    public static void main(String[] args){
        File file=new File("word.txt");//创建文件对象
        if(file.exists()){//如果文件存在
            String name=file.getName();//获取文件名称
            long length= file.length();//获取文件长度
            boolean hidden= file.isHidden();//判断文件是否为隐藏文件,是返回true,否返回false
            System.out.println("文件名称:"+name);
            System.out.println("文件长度:"+length);
            System.out.println("该文件是否为隐藏文件:"+hidden);
        }
        else{
            System.out.println("该文件不存在");
        }
    }
}
3.2 程序运行结果
相关推荐
m0_570466414 分钟前
代码随想录算法训练营第二十八天 | 买卖股票的最佳实际、跳跃游戏、K次取反后最大化的数组和
java·开发语言·算法
程序喵大人5 分钟前
分享个C++线程池的实现源码
开发语言·c++·线程池
不会吃萝卜的兔子29 分钟前
go webrtc - 1 go基本概念
开发语言·golang·webrtc
要做朋鱼燕1 小时前
【C++】 priority_queue 容器模拟实现解析
开发语言·c++·笔记·职场和发展
ST.J1 小时前
swing笔记
java·笔记
jiaway1 小时前
【C语言】第四课 指针与内存管理
c语言·开发语言·算法
励志不掉头发的内向程序员1 小时前
C++进阶——继承 (1)
开发语言·c++·学习
菩提树下的凡夫1 小时前
瑞芯微RV1126目标识别算法Yolov8的部署应用
java·算法·yolo
爱隐身的官人1 小时前
新后端漏洞(上)- Java RMI Registry反序列化漏洞
java·反序列化漏洞
叫我阿柒啊1 小时前
从Java全栈到前端框架:一次真实的面试对话与技术解析
java·javascript·typescript·vue·springboot·react·前端开发