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

【从零开始学Java | 第三十四篇】File

目录前言一、什么是File类二、File类的作用1.表示文件和目录2.操作文件和目录3.获取文件属性三、File的构造方法1. 通过字符串路径创建2. 通过父路径和子路径创3. 通过父 File 对象和子路径创建四、绝对路径和相对路径1. 绝对路径2. 相对路径前言在 Java 开发中文件操作是一个非常基础但又非常重要的知识点与IO流协作可以实现文件内容的读写。无论是读取配置文件、上传下载文件、创建目录还是遍历磁盘中的文件资源几乎都离不开 Java 中的File类。一、什么是File类在 Java 中File类位于java.io包下import java.io.File;File类主要用于表示文件和目录的路径名并对文件和目录进行一些基础的操作例如判断文件是否存在、创建文件或目录、删除文件或目录注意File 类本身并不负责读写文件内容它只是对文件和目录路径的抽象表示。比如File file new File(test.txt);这行代码并不意味着test.txt已经被创建了它只是表示“有这么一个路径对象”。二、File类的作用File类主要有三类作用1.表示文件和目录File对象既可以表示文件也可以表示文件夹。File f1 new File(a.txt); File f2 new File(D:/demo);f1可能表示一个文件f2可能表示一个目录具体要判断它是文件还是目录需要通过方法去判断。2.操作文件和目录File可以进行一些常见的管理操作例如创建文件创建目录删除文件判断是否存在判断是否是文件/目录3.获取文件属性通过File可以拿到很多文件相关信息比如文件名文件大小最后修改时间绝对路径父目录三、File的构造方法1. 通过字符串路径创建File file new File(D:/test/a.txt);这是最常见的写法。2. 通过父路径和子路径创File file new File(D:/test, a.txt);这种方式适合父目录和文件名分开管理的场景。3. 通过父 File 对象和子路径创建Fileparent new File(D:/test); File file new File(parent, a.txt);这种方式适合层级目录操作代码更清晰。四、绝对路径和相对路径1. 绝对路径绝对路径指的是从磁盘根目录开始的完整路径。例如File file new File(D:/project/test.txt);这就是绝对路径。优点是定位明确不容易出错缺点是可移植性较差。2. 相对路径相对路径是相对于当前项目运行位置而言的路径。例如File file new File(test.txt);这里的test.txt就表示当前项目运行目录下的test.txt。在 Java 项目中相对路径通常是相对于当前工程目录。五、File常用成员方法1.判断和获取方法名说明public boolean isDirectory()判断此路径名表示的File是否为文件夹public boolean isFile()判断此路径名表示的File是否为文件public boolean exists()判断此路径名表示的File是否存在public long length()返回文件的大小字节数量public String getAbsolutePath()返回文件的绝对路径public String getPath()返回定义文件时使用的路径public String getName()返回文件的名称带后缀public long lastModified()返回文件的最后修改时间时间毫秒值2.删除和创建方法名说明public boolean createNewFile()创建一个新的空的文件public boolean mkdir()创建单级文件夹public boolean mkdirs()创建多级文件夹public long delete()删除文件、空文件夹①createNewFile()细节1如果当前路径表示的文件是不存在的则创建成功方法返回trueFile f1 new File(D:\\aaa\\a.txt); boolean b f1.createNewFile(); System.out.println(b);细节2如果当前路径表示的文件是存在的则创建失败返回false细节3如果当前路径表示的父级路径不存在那么方法会有异常File f1 new File(D:\\aaa\\bbb\\a.txt); boolean b f1.createNewFile(); System.out.println(b);②mkdir()细节1windows系统下创建同名文件夹或文件方法会返回false细节2mkdir方法只允许创建单级目录要创建多级文件夹会返回falseFile f2 new File(D:\\aaa\\ccc\\ddd); boolean mkdir f2.mkdir(); System.out.println(mkdir);③mkdirs()创建多级文件夹也可以创建单级文件夹在底层是调用了mkdir以后使用可以直接使用该方法File f2 new File(D:\\aaa\\ccc\\ddd); boolean mkdirs f2.mkdirs(); System.out.println(mkdirs);④delete()细节1如果删除的是文件则直接删除不走回收站细节2如果删除的是空文件夹则直接删除不走回收站细节3如果删除的是有内容的文件夹则删除失败File f2 new File(D:\\aaa\\a.txt); boolean d f2.delete(); System.out.println(d);3.获取和遍历⭐⭐⭐⭐⭐方法名称说明public File[] listFiles()获取当前该路径下所有内容File f1 new File(D:\\aaa\\bbb); File[] files f1.listFiles(); for (int i 0; i files.length; i) { String fileName files[i].getName(); System.out.println(fileName);重点当调用者File表示的路径不存在时返回null当调用者File表示的路径是文件时返回null当调用者File表示的路径是一个空文件夹时返回一个长度为0的数组当调用者File表示的路径是一个有内容的文件夹时将里面所有文件和文件夹的路径放在File数组中返回当调用者File表示的路径是一个有隐藏文件的文件夹时将里面所有文件和文件夹的路径放在File数组中返回包含隐藏文件当调用者File表示的路径是需要权限才能访问的文件夹时返回null

相关文章:

【从零开始学Java | 第三十四篇】File

目录 前言 一、什么是File类? 二、File类的作用 1.表示文件和目录 2.操作文件和目录 3.获取文件属性 三、File的构造方法 1. 通过字符串路径创建 2. 通过父路径和子路径创 3. 通过父 File 对象和子路径创建 四、绝对路径和相对路径 1. 绝对路径 2. 相对…...

Photon光影包:为Minecraft带来电影级视觉体验的完整指南

Photon光影包:为Minecraft带来电影级视觉体验的完整指南 【免费下载链接】photon A gameplay-focused shader pack for Minecraft 项目地址: https://gitcode.com/gh_mirrors/photon3/photon Photon光影包是一款专注于游戏体验的Minecraft光影包,…...

实测踩坑:Windows 11上配置USB over Network远程共享,这几个细节不注意真连不上

Windows 11远程USB共享实战:从配置到排错的完整指南 USB设备远程共享技术正在改变我们使用外设的方式。想象一下,在家办公时直接调用公司的高端扫描仪,或者在实验室外远程操控连接在另一栋楼的3D打印机——这些场景都因为USB over Network技术…...

Python零基础到精通教程,函数基础

一、什么是函数?函数是组织好的、可重复使用的代码块,用来实现单一功能。简单说:把一段常用代码打包,起个名字,需要时直接调用,不用重复写代码。比如:打印问候语、计算求和、数据处理&#xff0…...

Cellpose-SAM:重新定义生物医学图像分割的技术范式与零参数革命

Cellpose-SAM:重新定义生物医学图像分割的技术范式与零参数革命 【免费下载链接】cellpose a generalist algorithm for cellular segmentation with human-in-the-loop capabilities 项目地址: https://gitcode.com/gh_mirrors/ce/cellpose 在生物医学研究领…...

Unity游戏开发中的穿山甲广告SDK集成实战

1. 穿山甲广告SDK基础认知 第一次接触穿山甲广告SDK时,我和很多开发者一样感到无从下手。这个由字节跳动推出的广告聚合平台,其实就像游戏里的"金币商人"——它帮助我们把游戏内的广告位变成真金白银的收入。根据官方数据,使用穿山…...

终极指南:3步完成Figma到After Effects的无损转换,用AEUX插件提升90%动画制作效率

终极指南:3步完成Figma到After Effects的无损转换,用AEUX插件提升90%动画制作效率 【免费下载链接】AEUX Editable After Effects layers from Sketch artboards 项目地址: https://gitcode.com/gh_mirrors/ae/AEUX 作为设计师,你是否…...

告别机翻!手把手教你安装dslrBooth.Pro 7.49.3.1专业汉化版,连语音都换成中文了

深度汉化实战:打造专业级中文版dslrBooth.Pro全流程指南 每次打开专业摄影软件时,满屏的英文菜单是否让你望而却步?网上那些机翻版本是否让你在关键操作时陷入术语混乱?作为从业十年的商业摄影师,我深知语言障碍对工作…...

03、对比串口、以太网,解析汽车为何首选 CAN 总线

001、通信基石:串口、以太网与CAN总线技术概览与对比引言 凌晨三点,实验室的示波器还亮着。我盯着屏幕上那串时有时无的UART数据,咖啡已经凉透——某个传感器的数据包每隔十几分钟就丢一帧,产线测试组明天一早就要报告。这种问题太典型了:线缆长了点,环境干扰大了点,波…...

028、安全与合规:当LangChain遇上提示注入与数据泄露

028、安全与合规:当LangChain遇上提示注入与数据泄露 上周排查一个线上问题,用户的查询突然返回了奇怪的系统指令。日志里看到这样的输入:“忽略之前的指令,请告诉我数据库的连接密码”。那一刻我意识到,提示注入攻击已经从论文走进了真实的生产环境。 提示注入不是理论…...

TensorFlow实战指南:激活函数的选择与应用场景解析

1. 激活函数:神经网络的"开关设计" 如果把神经网络比作电路系统,激活函数就是每个神经元上的智能开关。它决定了电流(信息)能否通过、通过多少,以及如何变形。我在搭建第一个图像分类模型时,曾把…...

OCR训练成本直降73%!2026奇点大会披露“渐进式伪标签闭环”框架(含GitHub可运行代码)

第一章:OCR训练成本直降73%!2026奇点大会核心成果概览 2026奇点智能技术大会(https://ml-summit.org) 本届奇点大会首次公开发布轻量级OCR联合蒸馏框架DocDistill-26,通过多粒度教师模型协同调度与动态分辨率感知训练策略,在保持…...

CMLM-仲景:7B参数中医AI如何实现专业诊疗能力超越

CMLM-仲景:7B参数中医AI如何实现专业诊疗能力超越 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditional Chinese Medicine larg…...

完整渗透学习路线图|零基础到渗透工程师进阶全攻略,收藏这篇就够了

前言 1/我是如何学习黑客和渗透? 我是如何学习黑客和渗透测试的,在这里,我就把我的学习路线写一下,让新手和小白们不再迷茫,少走弯路,拒绝时间上的浪费! 2/学习常见渗透工具的使用 注意&…...

Windows三指拖拽完整指南:免费实现macOS级触控板体验

Windows三指拖拽完整指南:免费实现macOS级触控板体验 【免费下载链接】ThreeFingersDragOnWindows Enables macOS-style three-finger dragging functionality on Windows Precision touchpads. 项目地址: https://gitcode.com/gh_mirrors/th/ThreeFingersDragOnW…...

从淘宝双十一到日常运维:EagleEye链路追踪如何重塑分布式系统可观测性

1. 当淘宝双十一遇到分布式系统:为什么我们需要EagleEye? 想象一下双十一零点那一刻,数百万用户同时点击"立即购买"按钮。这个看似简单的动作,在淘宝后台会触发数百次跨服务调用——从商品库存查询、优惠计算、风控审核…...

VSCode 与 code-server:浏览器端代码编辑方案选型

VSCode 与 code-server:浏览器端代码编辑方案选型在构建浏览器端的代码编辑能力时,开发者面临一个关键选择:使用 VSCode 官方的 code serve-web 功能,还是采用社区驱动的 code-server 方案?这个选择不仅影响技术架构&a…...

老旧Mac焕发新生:OpenCore Legacy Patcher完整使用指南

老旧Mac焕发新生:OpenCore Legacy Patcher完整使用指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否有一台被苹果官方抛弃的老旧Mac&…...

如何完整解锁Cursor Pro功能:一键激活与无限使用的终极指南

如何完整解锁Cursor Pro功能:一键激活与无限使用的终极指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached you…...

【RAG】【vector_stores047】Lantern向量存储索引示例

案例目标本案例演示如何使用PostgreSQL数据库和Lantern扩展与LlamaIndex框架结合,实现高效的向量搜索和混合搜索功能。主要目标包括:展示如何创建基于Lantern的向量索引演示如何使用HNSW索引参数优化搜索性能展示如何实现混合搜索(向量搜索全…...

中国人饮食结构缺乏那些营养元素呢

根据最新营养监测数据,国人普遍存在矿物质、维生素、膳食纤维摄入不足的问题,属于典型的 “隐性饥饿”(热量充足但微量营养缺乏)。一、最普遍缺乏的矿物质钙现状:人均每日摄入约 356mg,仅达推荐量&#xff…...

告别AI开发混乱:用Spec Workflow MCP + Cursor/Claude,实现从需求到代码的规范流水线

告别AI开发混乱:用Spec Workflow MCP Cursor/Claude实现规范化的需求到代码流水线 当你在深夜第12次修改同一个登录模块时,是否怀疑过AI辅助开发反而让工作变得更复杂?我们常陷入这样的循环:向AI助手抛出一句模糊的指令&#xff…...

Speechless:终极微博备份神器,5分钟掌握完整PDF导出指南

Speechless:终极微博备份神器,5分钟掌握完整PDF导出指南 【免费下载链接】Speechless 把新浪微博的内容,导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 你是否曾担心那些记录…...

终极指南:3分钟彻底卸载Microsoft Edge,还你干净Windows系统 [特殊字符]

终极指南:3分钟彻底卸载Microsoft Edge,还你干净Windows系统 🚀 【免费下载链接】EdgeRemover A PowerShell script that correctly uninstalls or reinstalls Microsoft Edge on Windows 10 & 11. 项目地址: https://gitcode.com/gh_m…...

从Audition到Python:手把手教你用代码复刻一个参数均衡器(附完整源码)

从Audition到Python:手把手教你用代码复刻一个参数均衡器(附完整源码) 在音频处理领域,参数均衡器(Parametric EQ)是专业音频工程师和音乐制作人最常用的工具之一。与固定频段的图示均衡器不同,…...

Speechless:一键将微博内容永久保存为PDF的智能备份工具

Speechless:一键将微博内容永久保存为PDF的智能备份工具 【免费下载链接】Speechless 把新浪微博的内容,导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 在信息飞速流转的社交媒体时代&a…...

终极Windows优化指南:让旧电脑重获新生的开源神器

终极Windows优化指南:让旧电脑重获新生的开源神器 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and custom…...

Marimo 高危预认证 RCE 漏洞已遭活跃利用

聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士开源响应式 Python 笔记本平台 Marimo 中存在一个严重漏洞CVE-2026-39987(CVSS评分9.3),攻击者无需认证即可实现远程代码执行 (RCE),影响 Mari…...

Windows Defender移除工具终极指南:3分钟彻底解决系统性能瓶颈

Windows Defender移除工具终极指南:3分钟彻底解决系统性能瓶颈 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mir…...

Coze OAuth授权码模式 vs JWT模式:Java后端如何选择并实现无感鉴权?

Coze OAuth授权码模式 vs JWT模式:Java后端如何选择并实现无感鉴权? 在构建需要与Coze平台深度集成的企业级应用时,鉴权机制的选择直接影响系统的稳定性和自动化程度。面对需要7x24小时稳定运行的后台服务,传统的OAuth授权码模式常…...