文件操作与IO—File类
目录
1 属性
2 构造方法
3 常用方法
4 示例代码
1 属性
| 修饰符与类型 | 属性 | 含义 |
| static String | pathSeparator | 依赖于系统的路径分隔符,String类型的表示 |
| static char | pathSeparator | 依赖于系统的路径分隔符,char类型的表示 |
2 构造方法
| 构造方法 | 含义 |
| File(File parent, String child) | 创建File对象,依据父目录的File对象+子文件的字符串创建 |
| File(String parent, String child) | 创建File对象,依据父目录的字符串+子文件的字符串创建 |
| File(String pathname) | 创建File对象,依据文件路径字符串创建 |
3 常用方法
| 返回值 | 方法名 | 含义 |
| String | getParent() | 返回父目录文件路径 |
| String | getName() | 返回文件名 |
| String | getPath() | 返回文件路径 |
| String | getAbsolutePath() | 返回绝对路径(把文件相对路径和工作路径拼接) |
| String | getCanonicalPath() | 返回修饰过的绝对路径(上一个方法的路径可能有冗余信息,修饰过的路径不含冗余信息) |
| boolean | exists() | 判断文件是否存在 |
| boolean | isDirectory() | 判断是否是目录 |
| boolean | isFile() | 判断是否是文件 |
| boolean | createNewFile() | 创建路径对应的文件 |
| boolean | delete() | 删除文件 |
| void | deleteOnExit() | 程序运行结束时删除文件 |
| String[] | list() | 返回目录下所有文件名 |
| File[] | listFiles() | 返回目录下所有文件的File对象 |
| boolean | mkdir() | 创建目录 |
| boolean | mkdirs() | 创建多级目录 |
| boolean | renameTo(File dest) | 文件重命名 |
| boolean | canRead() | 判断文件是否可读(权限) |
| boolean | canWrite() | 判断文件是否可写(权限) |
4 示例代码
public class FileOp {public static void main(String[] args) throws IOException {// //绝对路径// File file = new File("D:/test/testfile.txt");// //相对路径1:./当前文件或目录==工作路径+相对路径// File file = new File("./testfile.txt");//相对路径2:直接当前文件或目录==工作路径+相对路径File file = new File("testfile.txt");System.out.println("========File对象信息获取========");System.out.println(file.getParent());System.out.println(file.getName());System.out.println(file.getPath());System.out.println(file.getAbsolutePath());//这里的绝对路径=工作路径+相对路径(File对象表示的路径包含./)System.out.println(file.getCanonicalPath());//这里的绝对路径=工作路径+相对路径(去除掉冗余的./)System.out.println("========文件创建========");System.out.println(file.exists());//File对象的路径和是否存在对应的文件无关System.out.println(file.isDirectory());System.out.println(file.isFile());System.out.println(file.createNewFile());//路径对应的文件不存在就创建,否则不创建返回falseSystem.out.println(file.exists());System.out.println(file.isDirectory());System.out.println(file.isFile());System.out.println(file.createNewFile());System.out.println("========文件删除========");System.out.println(file.delete());System.out.println(file.exists());System.out.println(file.createNewFile());System.out.println(file.exists());file.deleteOnExit();//延时到程序结束删除,没有返回值,不能被打印System.out.println(file.exists());//此时文件还是存在,结果应该是trueSystem.out.println("========目录创建========");File file1 = new File("test");System.out.println(file1.exists());System.out.println(file1.isDirectory());System.out.println(file1.isFile());System.out.println(file1.mkdir());System.out.println(file1.exists());System.out.println(file1.isDirectory());System.out.println(file1.isFile());System.out.println(file1.delete());System.out.println(file1.exists());System.out.println("========多级目录创建========");file1 = new File("test/testdemo");System.out.println(file1.exists());System.out.println(file1.isDirectory());System.out.println(file1.isFile());System.out.println(file1.mkdir());//mkdir中间路径不存在,不能创建多级目录System.out.println(file1.exists());System.out.println(file1.mkdirs());//mkdirs创建多级目录System.out.println(file1.exists());System.out.println(file1.isDirectory());System.out.println(file1.isFile());System.out.println("========文件重命名========");File file2 = new File("newTest.txt");//新文件名对应的文件必须不存在System.out.println(file.exists());System.out.println(file2.exists());System.out.println(file.renameTo(file2));System.out.println(file.exists());System.out.println(file2.exists());}}
代码运行结果如下:



下篇文章:
文件操作与IO—文件读写
https://blog.csdn.net/sniper_fandc/article/details/146882239?fromshare=blogdetail&sharetype=blogdetail&sharerId=146882239&sharerefer=PC&sharesource=sniper_fandc&sharefrom=from_link
相关文章:
文件操作与IO—File类
目录 1 属性 2 构造方法 3 常用方法 4 示例代码 1 属性 修饰符与类型 属性 含义 static String pathSeparator 依赖于系统的路径分隔符,String类型的表示 static char pathSeparator 依赖于系统的路径分隔符,char类型的表示 2 构造方法 构造…...
音频进阶学习二十四——IIR滤波器设计方法
文章目录 前言一、滤波器设计要求1.选频滤波器种类2.通带、阻带、过度带3.滤波器设计指标 二、IIR滤波器的设计过程1.设计方法2.常见的模拟滤波器设计1)巴特沃斯滤波器(Butterworth Filter)2)切比雪夫滤波器(Chebyshev…...
OpenBMC:BmcWeb 处理http请求2 查找路由对象
OpenBMC:BmcWeb 处理http请求1 生成Request和AsyncResp对象_bmc web-CSDN博客 当接收到http请求,并且完成解析后,调用了App::handle处理请求 而App::handle又调用了router.handle(req, asyncResp);来处理请求 1.Router::handle void handle(const std::shared_ptr<Requ…...
MVC编程
MVC基本概述 例子——显示本地文件系统结构 先分别拖入ListView,TableView,TreeView 然后在进行布局 在widget.cpp 结果 mock测试 1,先加入json测试对象 2.创建后端目录 3,在src添加新文件 在models文件夹里 在mybucket.h,添加测试用例的三个字段 4.在…...
怎么对asp.web api进行单元测试?
在 ASP.NET Web API 中进行单元测试是一种确保代码质量和功能正确性的重要实践。单元测试的重点是针对 API 控制器中的逻辑进行测试,而不依赖于外部依赖(如数据库、文件系统或网络请求)。以下是实现 ASP.NET Web API 单元测试的步骤和方法&am…...
Qt进阶开发:对象树与拥有权
文章目录 一、对象树的概念二、对象拥有权(Ownership)三、Qt Widgets 中的特殊情况四、对象树与拥有权的实例 一、对象树的概念 在 Qt 中,对象树(Object Tree)与对象的拥有权(Ownership)密切相…...
Django:构建高性能Web应用
引言:为何选择Django? 在当今快速发展的互联网时代,Web应用的开发效率与可维护性成为开发者关注的核心。Django作为一款基于Python的高级Web框架,以其"开箱即用"的特性、强大的ORM系统、优雅的URL路由设计,…...
C语言基础系列【32】指针进阶5:指针与常量
博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇…...
TS 中 interface 和 type 详解
在 TypeScript 中,interface 和 type 都可以用来定义类型,但它们有一些关键的区别。以下是它们的详细对比: 1. 基本定义 interface 用于声明对象的形状(属性和方法),是面向对象编程中“接口”概念的体现。 …...
文法 2025/3/3
文法的定义 一个文法G是一个四元组:G(,,S,P) :一个非空有限的终极符号集合。它的每个元素称为终极符号或终极符,一般用小写字母表示。终极符号是一个语言不可再分的基本符号。 :一个非空有限的非终极符号集合。它的每个元素称为…...
蚂蚁集团主导的ISO密码学国际标准立项,纳入国产算法
蚂蚁集团主导的ISO密码学国际标准 ISO 25330-3 立项, 国产算法Ferret成为标准方案。 近日,在美国弗吉尼亚州举行的 ISO/IEC JTC 1/SC 27 全体会议上,ISO/IEC 25330第三部分《Information Security — Oblivious Transfer — Part 3: Obliv…...
nginx的用户认证
[rootserver100 html]# htpasswd -cm /usr/local/nginx/.htpasswd lee 创建用户给密码 编写nginx的配置文件 [rootserver100 html]# echo lee > /data/web/lee/index.html 写入实验内容 访问成功 用户访问认证的设定 用户认证的设定成功...
为什么要指针压缩,为什么能指针压缩?原理是什么?
指针压缩(Compressed Oops)的原理与实现 指针压缩是 JVM 在 64 位环境 下优化内存占用的关键技术,通过减少对象指针的内存开销,提升缓存利用率和性能。以下是其核心原理与设计细节: 一、为什么要指针压缩?…...
pyproj 库中Geod类—geod.npts()方法讲解
二、pyproj 库中Geod类geod.npts()方法讲解 geod.npts() 方法用于在起点和终点之间生成沿测地线均匀分布的中间点 示例演示 from pyproj import Geod# 初始化 WGS84 椭球体 geod Geod(ellps"WGS84")# 起点:北京 (116.4, 39.9),终点ÿ…...
使用DeepSeek API进行情感分析:超简单
文章目录 1. 引言1.1 情感分析概述1.2 为什么选择DeepSeek API1.3 本文目标 2. 技术方案对比2.1 传统情感分析方法2.2 基于LLM的方法DeepSeek API优势 3. DeepSeek 情感分析实战3.1 Few-shot Learning方法3.2 完整的DeepSeek API调用示例3.3 案例演示 4. DeepSeek开发情感分析工…...
一套SaaS多租户医疗云his源码,基于云计算的医院信息管理系统(云HIS)
基于云计算的医院信息管理系统(云HIS),通过SaaS服务模式提供。这种云HIS系统设计考虑了模板化、配置化、智能化和可扩展性,覆盖了基层医疗机构的核心工作流程,并且能够与监管系统无缝对接,满足未来的扩展需…...
数据处理与机器学习入门
一、数据处理概述 数据处理是通过统计学、机器学习和数据挖掘方法从原始数据中提取有价值信息的过程。数据处理的目标是将杂乱无章的原始数据转化为可用于分析和建模的结构化数据。对于小规模数据处理,常用工具分为两类: • 可视化分析工具:…...
Qt中绘制不规则控件
在Qt中绘制不规则控件可通过设置遮罩(Mask)实现。以下是详细步骤: 继承目标控件:如QPushButton或QWidget。重写resizeEvent:当控件大小变化时,更新遮罩形状。创建遮罩区域:使用QRegion或QPain…...
【SPP】深入解析蓝牙 L2CAP 协议在SPP中的互操作性要求 —— 构建可靠的蓝牙串口通信基础
在蓝牙协议体系中,L2CAP(Logical Link Control and Adaptation Protocol)作为基带协议与高层协议之间的桥梁,承担着数据分帧、协议复用、QoS协商等核心功能。当涉及串行端口通信时,L2CAP的规范实现直接决定了设备间数据…...
21 模板方法(Template Method)模式
模板方法模式 1.1 分类 (类)行为型 1.2 提出问题 做一款数据挖掘的程序,需要支持不同格式的数据文件,虽然文件格式不同,实现步骤基本一致。 1.3 解决方案 定义一个算法骨架,而将一些步骤延迟到子类。…...
一些练习 C 语言的小游戏
一些练习 C 语言的小游戏 — 1. 猜数字游戏 描述:程序随机生成一个数字,玩家需要猜测这个数字,并根据提示(太高或太低)调整猜测,直到猜中为止。 功能点: 随机数生成 (rand() 函数)。循环和…...
【AI News | 20250331】每日AI进展
AI Repos 1、MCP-Chinese-Getting-Started-Guide 模型上下文协议(MCP)是一个创新的开源协议,旨在标准化大语言模型(LLM)与外部数据源及工具的连接方式,类似AI应用的“USB-C接口”。其核心功能包括资源、提…...
程序化广告行业(45/89):RTB竞价后续流程、结算规则及相关要点解读
程序化广告行业(45/89):RTB竞价后续流程、结算规则及相关要点解读 大家好!一直以来,我都希望能和大家一起在程序化广告这个领域不断探索、共同成长,这也是我写这系列博客的初衷。之前我们了解了程序化广告…...
Python人工智能大模型入门教程:从零构建高性能预测模型
引言:AI大模型时代的技术革命 在AlphaGo战胜人类棋手的里程碑事件后,人工智能技术进入爆发式发展阶段。本教程将带您从零开始,使用Python构建一个工业级神经网络模型。通过本教程,您不仅能掌握GPU加速训练、混合精度计算等前沿技…...
C++/数据结构:哈希表知识点
目录 哈希表 理解哈希表 哈希值(整形) BKDR哈希 异或组合 hash_combine 哈希函数 直接定址法 除留余数法 平方取中法 基数转换法 哈希冲突 开放定址法 哈希桶 unordered_map和unorder_set如何共用一个哈希桶模板类 stl的哈希桶中Insert如…...
基于SpringBoot的求职招聘网站系统(源码+数据库)
473基于SpringBoot的求职招聘网站系统,本系统共分为2个角色:系统管理员、用户,主要功能如下 【前台功能】 用户角色功能: 1. 注册和登录:注册账户并登录系统,以便访问更多功能。 2. 个人信息管理&#x…...
Linux : System V 共享内存
目录 一 前言 二 共享内存概念 三 共享内存创建 四 查看共享内存 五 共享内存的删除 六 共享内存的关联 七 共享内存去关联 八 共享内存的使用(通信) 九 共享内存的特点 一 前言 共享内存区是最快的IPC形式(进程间通信࿱…...
端到端语音识别案例
《DeepSeek大模型高性能核心技术与多模态融合开发(人工智能技术丛书)》(王晓华)【摘要 书评 试读】- 京东图书 语音识别这一技术正如其名,是通过精密地解析说话人的语音来识别并准确转写出其所说的内容。它不仅仅是一个简单的转录过程&#…...
【软件系统架构】微服务架构
一、引言 随着互联网技术的快速发展,传统的单体应用架构在面对复杂业务需求时逐渐暴露出诸多问题,如开发效率低、部署困难、扩展性差等。为了解决这些问题,微服务架构应运而生。本文将详细介绍微服务架构的定义、发展历史、特点、细分类型、优…...
【Kafka】消费者幂等性保障全解析
文章目录 消费者幂等性的重要性基于消息唯一标识的幂等处理消息去重表缓存去重 基于事务的幂等处理消费者事务与幂等性 幂等性保障的挑战与应对性能开销数据一致性 总结 在 Kafka 生态系统中,我们往往着重关注生产者端的幂等性,确保…...
