File类
1.描述
java.io.File
类∶代表文件和目录。在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类。File类java.io包中唯一代表磁盘文件本身的对象。- File类不能访问文件内容本身,如果需要访问文件内容本身,则需要借助输入输出流。
2. 创建
File提供了三种形式的构造方法
方法 | 参数描述 |
---|---|
File(String path) |
如果 path 是实际存在的路径,则该 File 对象表示的是目录;如果 path 是文件名,则该 File 对象表示的是文件。 |
File(String path, String name) |
path 是路径名,name 是文件名 |
File(File dir, String name) |
dir 是路径对象,name 是文件名 |
使用任意一个构造方法都可以创建一个File对象,下面是一个小例子
package konoha.commonClass.ClassFile; import java.io.File; import java.io.IOException; public class testClassFile { public static void main(String[] args) throws IOException { File file = new File("D:\\JavaLearning\\JavaSE\\JavaSE\\src\\konoha\\commonClass\\ClassFile\\testFile"); //输出路径 System.out.println(file); /** * user.dir * 用户目录 * */ System.out.println(System.getProperty("user.dir")); }
3. File类的常用方法和常量
以下是File常用方法的描述
方法名 | 方法描述 |
---|---|
boolean exists() |
测试当前 File 是否存在 |
boolean canRead() |
测试应用程序是否能从指定的文件中进行读取 |
boolean canWrite |
测试应用程序是否能写当前文件 |
boolean delete() |
删除当前对象指定的文件 |
String getAbsolutePath() |
返回由该对象表示的文件的绝对路径名 |
String getName() |
返回表示当前对象的文件名或路径名(如果是路径,则返回最后一级子路径名) |
String getParent() |
返回当前 File 对象所对应目录(最后一级子目录)的父目录名 |
boolean isAbsolute() |
测试当前 File 对象表示的文件是否为一个绝对路径名。该方法消除了不同平台的差异,可以直接判断 file 对象是否为绝对路径。 |
boolean isDirectory() |
测试当前 File 对象表示的文件是否为一个路径 |
boolean isFile() |
测试当前 File 对象表示的文件是否为一个“普通”文件 |
long lastModified() |
返回当前 File 对象表示的文件最后修改的时间,(是与计算机0时间相减的结果,是一个long值,可以创建Data对象) |
long length() |
返回当前 File 对象表示的文件长度 |
String[] list() |
返回当前 File 对象指定的路径文件列表 |
String[] list(FilenameFilter) |
返回当前 File 对象指定的目录中满足指定过滤器的文件列表 |
boolean mkdir() |
创建一个目录,它的路径名由当前 File 对象指定 |
boolean mkdirs() |
创建一个目录,它的路径名由当前 File 对象指定 |
boolean renameTo(File) |
将当前 File 对象指定的文件更名为给定参数 File 指定的路径名 |
mkdir()与mkdirs()方法的区别在于mkdir在创建目录路径有一个不存在时,就会创建失败,而mkdirs则会递归的创建所有不存在的目录。
https://www.cnblogs.com/konoha/p/15145197.html
故乡明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话