Java之File类

一、什么是File类

  • File类用于表示一个路径,可以是文件的路径,也可以是目录的路径。
  • 这个路径可以是存在的,也允许是不存在的

二、File类的常用方法:

1、构造方法

|------------------------------------|----------------------------|
| File(String pathname) | 根据给定的路径名创建File对象 |
| File(String parent,String child) | 根据父路径名字字符串和子路径名字字符串创建文件对象 |
| File(File parent,String child) | 根据父路径对应文件对象和子路径名字字符串创建文件对象 |

java 复制代码
// 根据给定的路径名创建File对象
File file1 = new File("e:\\a.txt");
System.out.println(file1);

// 根据父路径名字字符串和子路径名字字符串创建文件对象
File file2 = new File("e:", "a.txt");
System.out.println(file2);

// 根据父路径对应文件对象和子路径名字字符串创建文件对象
File fu = new File("e:");
File file3 = new File(fu, "a.txt");
System.out.println(file3);
2、成员方法
  • boolean isDirectory():判断是否为目录
  • boolean isFile():判断是否为文件
  • boolean exists():判断文件或目录是否存在
  • long length():返回文件的长度(字节数)
    • 只能获取文件的大小
  • String getAbsolutePath():返回文件或目录的绝对路径
  • String getPath():返回定义文件时使用的路径
  • String getName():返回文件的名称,带后缀
  • long lastModified():返回文件的最后修改时间(毫秒数)
  • boolean mkdir():创建目录
  • boolean mkdirs():创建多级目录
  • boolean createNewFile():创建空的文件
    • 如果父路径不存在,会有异常IOException
    • 创建的一定是文件,如果路径中没有后缀名,就会创建一个没有后缀名的文件
  • boolean delete():删除文件或目录
    • 默认只能删除文件空文件夹 ,是直接删除不走回收站
  • boolean renameTo(File dest):重命名文件或目录
  • File[] listFiles():获取当前该路径下所有内容
    • 当调用者File表示的路径不存在时,返回 null
    • 当调用者File表示的路径是文件时,返回 null
    • 当调用者File表示的路径是一个空文件夹时返回一个长度为 0 的数组
    • 当调用者 File 表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回
    • 当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件
    • 当调用者File表示的路径是需要权限才能访问的文件夹时,返回 null
相关推荐
滨HI011 分钟前
C++ opencv拟合直线
开发语言·c++·opencv
沐浴露z21 分钟前
详解JDK21新特性【虚拟线程】
java·开发语言·jvm
艾莉丝努力练剑33 分钟前
【C++:红黑树】深入理解红黑树的平衡之道:从原理、变色、旋转到完整实现代码
大数据·开发语言·c++·人工智能·红黑树
No0d1es41 分钟前
电子学会青少年软件编程(C/C++)1级等级考试真题试卷(2025年9月)
java·c语言·c++·青少年编程·电子学会·真题·一级
l1t1 小时前
利用DeepSeek优化SQLite求解数独SQL用于DuckDB
开发语言·数据库·sql·sqlite·duckdb
_OP_CHEN1 小时前
C++进阶:(七)红黑树深度解析与 C++ 实现
开发语言·数据结构·c++·stl·红黑树·红黑树的旋转·红黑树的平衡调整
9号达人1 小时前
普通公司对账系统的现实困境与解决方案
java·后端·面试
硅农深芯1 小时前
如何使用ptqt5实现进度条的动态显示
开发语言·python·qt
超级苦力怕1 小时前
Java 为何 long a = 999999999 能过;long a = 9999999999 报错?一文讲透“宽化转换”
java
佐杰1 小时前
Jenkins使用指南1
java·运维·jenkins