当前位置: 首页 > news >正文

Java File类(文件操作类)

背景:

在Java编程语言中,操作文件和目录是一项常见的任务。而File类,则是java.io包中的重要类,它是唯一代表磁盘文件本身的对象。通过File类提供的方法,我们可以轻松地创建、删除、重命名文件和目录等操作。

构造方法:

File类提供了三种形式的构造方法,以便我们根据需要创建文件对象。

第一种构造方法是File(String path),当传入的path是一个实际存在的路径时,该File对象表示一个目录;当path是一个文件名时,该File对象则表示一个文件

第二种构造方法是File(String path, String name),其中path是路径名,name是文件名。通过这种方式,我们可以方便地指定文件所在的路径和文件名

最后一种构造方法是File(File dir, String name),其中dir是一个路径对象,name是文件名。通过这种方式,我们可以先创建一个路径对象,然后再与文件名结合,便于操作文件或目录

注意⚠️:

File类本身并不能访问文件内容,如果我们需要读取或写入文件内容,我们需要使用输入/输出流来实现。File类更多地关注于文件和目录本身的操作。


在下表中列出了 File 类的常用方法及说明

方法名称

说明

boolean canRead()

测试应用程序是否能从指定的文件中进行读取

boolean canWrite()

测试应用程序是否能写当前文件

boolean delete()

删除当前对象指定的文件

boolean exists()

测试当前 File 是否存在

String getAbsolutePath()

返回由该对象表示的文件的绝对路径名

String getName()

返回表示当前对象的文件名或路径名(如果是路径,则返回最后一级子路径名)

String getParent()

返回当前 File 对象所对应目录(最后一级子目录)的父目录名

boolean isAbsolute()

测试当前 File 对象表示的文件是否为一个绝对路径名。该方法消除了不同平台的差异,可以直接判断 file 对象是否为绝对路径。在 UNIX/Linux/BSD 等系统上,如果路径名开头是一条斜线

/

,则表明该 File 对象对应一个绝对路径;在 Windows 等系统上,如果路径开头是盘符,则说明它是一个绝对路径。

boolean isDirectory()

测试当前 File 对象表示的文件是否为一个路径

boolean isFile()

测试当前 File 对象表示的文件是否为一个“普通”文件

long lastModified()

返回当前 File 对象表示的文件最后修改的时间

long length()

返回当前 File 对象表示的文件长度

String[] list()

返回当前 File 对象指定的路径文件列表

String[] list(FilenameFilter)

返回当前 File 对象指定的目录中满足指定过滤器的文件列表

boolean mkdir()

创建一个目录,它的路径名由当前 File 对象指定

boolean mkdirs()

创建一个目录,它的路径名由当前 File 对象指定

boolean renameTo(File)

将当前 File 对象指定的文件更名为给定参数 File 指定的路径名

相关文章:

  • 【Linux】Centos7安装redis
  • 【教程】高效数据加密混淆方法及实现简介
  • 隐私计算实训营学习四:SecretFlow的安装和部署
  • 【Linux基础】dash和bash简介
  • 实现实时查询并带有查询结果列表的输入框
  • 数字化转型核心 数据治理神器Hadoop 生态介绍HDFS、Yarn以及HBase/Hive
  • jvm底层
  • 设计一个简单的Qt界面
  • nodejs安装使用React
  • SQLiteC/C++接口详细介绍sqlite3_stmt类(十三)
  • C#多态性
  • 2024/3/24 蓝桥杯
  • 酒店智能水电表管理解决方案:提升效率、节约成本与环保并重
  • go面向对象
  • 软件杯 深度学习 机器视觉 人脸识别系统 - opencv python
  • [译]如何构建服务器端web组件,为何要构建?
  • 【刷算法】求1+2+3+...+n
  • ECS应用管理最佳实践
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • express.js的介绍及使用
  • GitUp, 你不可错过的秀外慧中的git工具
  • happypack两次报错的问题
  • MD5加密原理解析及OC版原理实现
  • Rancher如何对接Ceph-RBD块存储
  • webpack项目中使用grunt监听文件变动自动打包编译
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 安装python包到指定虚拟环境
  • 给新手的新浪微博 SDK 集成教程【一】
  • 基于HAProxy的高性能缓存服务器nuster
  • 离散点最小(凸)包围边界查找
  • 前端面试之CSS3新特性
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 自动记录MySQL慢查询快照脚本
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #define用法
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (ZT)薛涌:谈贫说富
  • (七)Knockout 创建自定义绑定
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET 命令行参数包含应用程序路径吗?
  • .Net6 Api Swagger配置
  • .Net程序帮助文档制作
  • .NET中winform传递参数至Url并获得返回值或文件
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [1127]图形打印 sdutOJ
  • [BUG]Datax写入数据到psql报不能序列化特殊字符
  • [BZOJ] 2044: 三维导弹拦截
  • [C#]DataTable常用操作总结【转】