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 程序运行结果
相关推荐
爱写代码的小朋友1 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华1 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
小小晓.1 小时前
C++:语句和作用域
开发语言·c++
都叫我大帅哥2 小时前
从Python到Java:为什么企业级Agent最终会选择Java?
java·ai编程
wanderist.2 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
海天鹰3 小时前
PHP上传文件
android·开发语言·php
腻害兔4 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:IM 即时通讯模块,一个被低估的「全功能聊天系统」
java·前端·vue.js·产品经理·ai编程
心念枕惊4 小时前
.NET CORE 授权进阶-角色、策略与动态权限实现
java·前端·.netcore
Yeauty5 小时前
渲染成图再 CLI 拼接,还是进程内直推?Rust 帧到视频的两条路
开发语言·rust·音视频
geovindu5 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法