JavaSE加强:File文件操作
java.io.File代表文件或者文件夹的路径对象。⚠️重点File 对象仅仅代表路径不代表文件一定真实存在new File 不会创建文件。包import java.io.File;一、File 构造方法//1.传入字符串路径相对路径 / 绝对路径 File f1 new File(D:/a.txt); //2.父路径 子路径 File f2 new File(D:/demo,b.txt); //3.File父对象 子路径 File parent new File(D:/demo); File f3 new File(parent,c.txt);绝对路径完整磁盘路径D:\\test\\1.txtWindows 用 \ 或者 /相对路径相对于项目根目录不写盘符a.txtWindows 分隔符\在字符串要转义写成\\也可以直接写/Java 跨平台兼容。二、File 常用获取方法方法说明String getAbsolutePath()获取绝对路径字符串String getPath()获取构造时传入的路径原样返回String getName()获取文件名 / 文件夹名最后一级long length()获取文件大小字节文件夹返回 0文件夹不能拿大小File file new File(demo/test.txt); System.out.println(file.getAbsolutePath()); System.out.println(file.getPath()); System.out.println(file.getName()); System.out.println(file.length());三、判断方法方法作用exists()判断路径对应的文件 / 文件夹是否真实存在isFile()是否是文件存在才返回 trueisDirectory()是否是文件夹存在才返回 true⚠️如果文件不存在isFile()和isDirectory()全部返回 falseFile f new File(d:/abc.txt); System.out.println(f.exists()); System.out.println(f.isFile()); System.out.println(f.isDirectory());四、创建、删除方法方法作用返回 booleancreateNewFile()创建文件仅文件如果已存在不会覆盖返回 false必须处理 IO 异常mkdir()创建单级文件夹只能建一层mkdirs()创建多级文件夹常用可以单级也可以多级delete()删除文件 / 空文件夹不能删除有内容的文件夹直接删除不进回收站示例File file new File(d:/test/1.txt); // 创建文件要捕获或者抛出IOException file.createNewFile(); File dir1 new File(d:/aaa); dir1.mkdir(); File dir2 new File(d:/a/b/c); dir2.mkdirs(); //多级目录 file.delete();坑createNewFile()只能创建文件不能创建文件夹父文件夹不存在会报错。mkdir()不能创建多级推荐一律用mkdirs()。delete 不能删除带文件的文件夹。五、遍历文件夹方法方法功能String[] list()获取文件夹内部所有子项名称数组File[] listFiles()获取文件夹内部所有子项 File 对象数组开发最常用File folder new File(D:/demo); File[] files folder.listFiles(); if(files ! null){ //文件夹有权限问题可能返回null一定要判断 for (File f : files) { System.out.println(f.getName() —— f.isFile()); } }⚠️注意如果 File 是文件不是文件夹listFiles()返回 null遍历会空指针系统无权限访问文件夹返回 null要做非空判断。递归遍历文件夹面试重点打印文件夹下面全部文件包含子文件夹内部public static void printAllFile(File dir){ if(!dir.exists() || !dir.isDirectory()){ return; } File[] files dir.listFiles(); if(files null) return; for(File f : files){ if(f.isFile()){ System.out.println(文件f.getAbsolutePath()); }else{ //是文件夹递归继续遍历 printAllFile(f); } } }六、过滤器 FileFilterlistFiles 重载listFiles(FileFilter filter)筛选文件夹里面的文件File dir new File(D:/demo); //匿名内部类过滤器只保留txt后缀文件 File[] arr dir.listFiles(new FileFilter() { Override public boolean accept(File pathname) { //返回true代表保留该文件 return pathname.getName().endsWith(.txt); } });Lambda 简写File[] arr dir.listFiles(pathname - pathname.getName().endsWith(.txt));七、重点易错总结File 对象只是路径封装new File 不会在磁盘创建任何东西。createNewFile()创建文件mkdirs()创建多级文件夹。length()只对文件有效文件夹 length 无意义。isFile()、isDirectory()文件不存在时都返回 false。delete()不能删除非空文件夹删除直接永久删除。listFiles()如果对象是文件 / 无权限返回 null循环前必须判 null防止空指针。递归遍历文件夹要先判断是否存在、是否文件夹再拿 listFiles。八、面试简答Qmkdir 和 mkdirs 区别mkdir()只能创建单级文件夹mkdirs()可以创建多级推荐开发使用 mkdirs。QcreateNewFile () 和 mkdirs 区别 createNewFile 创建文件mkdirs 创建文件夹。父目录不存在时 createNewFile 报错mkdirs 自动建父目录。QlistFiles 返回 null 是什么情况 ①当前 File 是一个文件不是文件夹②没有访问权限。拓展File 只能操作文件、文件夹本身属性创建删除重命名不能读写文件里面的内容读写内容需要 IO 流 (FileInputStream/FileOutputStream)。

相关新闻

亲测有效:用 Codex 的 20 个精选 Prompt 降重,查重率仅10%!

亲测有效:用 Codex 的 20 个精选 Prompt 降重,查重率仅10%!

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。论文写作进入修…

2026/10/9 2:53:47 阅读更多 →
更适合科研学术党体质的神仙论文写作 SKILL 来了!

更适合科研学术党体质的神仙论文写作 SKILL 来了!

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 科研过程中,很少有人能一路顺风。很多令人头疼的情况几乎每位研究…

2026/10/9 2:53:47 阅读更多 →
短信发送流程验证:从触发到回执的全链路排查指南

短信发送流程验证:从触发到回执的全链路排查指南

短信服务看着简单,真正要上线的时候,链条比大多数人想象的长得多。这篇文章想聊的“短信发送流程验证”,不是单纯调一次API、收到一条短信就完事,而是把从触发、组装、下发、回执到落库的整条链路,按生产标准从头到尾验…

2026/10/9 2:52:47 阅读更多 →

最新新闻

JavaWeb学生成绩管理系统课设包:JSP+Servlet+JDBC+MySQL完整实现与避坑指南

JavaWeb学生成绩管理系统课设包:JSP+Servlet+JDBC+MySQL完整实现与避坑指南

简介:这是一套面向高校课程设计、毕业设计与Java Web入门进阶的完整学生成绩管理系统源码包,基于JSP、Servlet、JDBC与MySQL实现,并引入MD5加密算法,覆盖学生、教师、管理员三类角色。学生端支持考勤管理、请假、选课、成绩查询与…

2026/10/9 3:30:12 阅读更多 →
SSM电影推荐系统:本科毕设落地指南与User-Based CF实现

SSM电影推荐系统:本科毕设落地指南与User-Based CF实现

简介:这是一套面向计算机专业本科生的毕业设计级电影推荐系统实战资源,基于Java语言与SSM(SpringSpringMVCMyBatis)主流框架开发,完整覆盖需求分析、系统实现、数据库设计到论文撰写的全流程,可直接用于毕设…

2026/10/9 3:30:12 阅读更多 →
SSH远程登录Linux实战:从原理到密钥配置和故障排查

SSH远程登录Linux实战:从原理到密钥配置和故障排查

搞Linux的朋友,几乎都绕不开一个问题:怎么把远在机房、云端甚至客厅角落的Linux服务器“抓”到自己电脑面前来操作。SSH(Secure Shell)就是干这件事的标准答案。它把本地终端和Linux服务器之间的网络通信放进一条加密隧道&#xf…

2026/10/9 3:30:12 阅读更多 →
Linux内核内存管理:Slab与Slub分配器原理及排查实战

Linux内核内存管理:Slab与Slub分配器原理及排查实战

1. 为什么Buddy System之外,内核还要再养一个分配器在Linux内核里,内存管理虽然从Buddy System(伙伴系统)开始,但实际工作中你几乎不会直接向它申请小内存。我见过不少刚接触内核的人去看alloc_pages,然后疑…

2026/10/9 3:30:12 阅读更多 →
HTTP错误状态码实战排查手册:4xx/5xx定位与解决方案

HTTP错误状态码实战排查手册:4xx/5xx定位与解决方案

接手线上问题的时候,我最先问的一句话永远是:状态码是多少?先别急着甩日志,也别让用户一遍遍复现,“HTTP错误状态码”就是服务器给我们的第一句人话——它直接告诉你请求死在了哪个环节。这篇文章我把实战里最常遇到的…

2026/10/9 3:30:12 阅读更多 →
ONS15454配置指南:单板识别与电路创建,从时隙到SNCP保护

ONS15454配置指南:单板识别与电路创建,从时隙到SNCP保护

简介:这是面向光网络运维与工程人员的一份思科ONS15454 SDH配置教学课件,聚焦同步数字体系设备的基础配置场景。内容系统覆盖客户端端口定义与SFP模块激活、STM-1/STM-4/STM-16端口类型选择、用户电路创建中的高阶电路(VC_HO_PATH_CIRCUIT&am…

2026/10/9 3:29:11 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →