鸿蒙三方库 | harmony-utils之FileUtil文件创建与删除详解
前言文件创建和删除是文件管理的基本操作。pura/harmony-utils的FileUtil封装了文件和目录的创建、删除方法支持递归创建目录和强制删除非空目录。本文将从API说明、代码实战、进阶用法、常见问题等多个维度进行全面讲解帮助开发者快速掌握并应用到实际项目中。一、FileUtil创建删除核心APIFileUtil提供了以下文件创建和删除方法方法说明返回类型使用场景createFile(path)创建文件void新建空文件createDir(path)创建目录void新建目录deleteFile(path)删除文件void清理文件deleteDir(path)删除目录void清理目录exists(path)判断文件是否存在boolean存在性检查1.1 核心特性简洁易用封装复杂API为一行调用降低使用门槛类型安全完整的TypeScript类型定义编译期即可发现错误异常处理内置异常捕获机制避免运行时崩溃递归支持支持递归创建多级目录1.2 创建删除操作对照操作方法前提条件异常情况创建文件createFile父目录存在文件已存在创建目录createDir父目录存在目录已存在删除文件deleteFile文件存在文件不存在删除目录deleteDir目录存在目录不存在二、完整使用步骤2.1 安装依赖ohpminstallpura/harmony-utils2.2 创建文件和目录import{FileUtil}frompura/harmony-utils;Button(创建目录).width(100%).onClick((){try{letdirPathFileUtil.getFilesDir()/mydir;FileUtil.createDir(dirPath);this.result目录创建成功 ✅\n${dirPath};}catch(e){this.result异常: e;}})Button(创建文件).width(100%).onClick((){try{letfilePathFileUtil.getFilesDir()/mydir/test.txt;FileUtil.createFile(filePath);this.result文件创建成功 ✅\n${filePath};}catch(e){this.result异常: e;}})2.3 删除文件和目录Button(删除文件).width(100%).onClick((){try{letfilePathFileUtil.getFilesDir()/mydir/test.txt;FileUtil.deleteFile(filePath);this.result文件删除成功 ️;}catch(e){this.result异常: e;}})Button(删除目录).width(100%).onClick((){try{letdirPathFileUtil.getFilesDir()/mydir;FileUtil.deleteDir(dirPath);this.result目录删除成功 ️;}catch(e){this.result异常: e;}})三、完整页面示例import{FileUtil}frompura/harmony-utils;EntryComponentstruct FileCreateDemo{Stateresult:string;build(){Column({space:12}){Button(创建并删除文件).width(100%).onClick((){try{letpathFileUtil.getFilesDir()/temp.txt;FileUtil.createFile(path);letexistsFileUtil.exists(path);FileUtil.deleteFile(path);this.result创建: 成功\n存在:${exists}\n删除: 成功;}catch(e){this.result异常: e;}});Text(this.result).fontSize(14).fontColor(#333333)}.padding(16)}}四、进阶用法4.1 安全创建文件import{FileUtil}frompura/harmony-utils;functionsafeCreateFile(path:string):boolean{try{if(!FileUtil.exists(path)){FileUtil.createFile(path);}returntrue;}catch(e){returnfalse;}}4.2 安全删除文件functionsafeDelete(path:string):boolean{try{if(FileUtil.exists(path)){if(FileUtil.isDirectory(path)){FileUtil.deleteDir(path);}else{FileUtil.deleteFile(path);}}returntrue;}catch(e){returnfalse;}}五、注意事项父目录创建文件前需确保父目录存在删除不可逆文件删除后无法恢复建议确认后再删除非空目录删除非空目录可能需要递归删除初始化依赖使用前需确保AppUtil.init()已调用并发安全多线程操作同一文件需注意并发安全六、常见问题Q1: 创建文件时提示父目录不存在需要先创建父目录使用createDir()创建父目录后再创建文件。Q2: 删除目录时提示目录非空需要先删除目录中的所有文件和子目录或使用递归删除方法。Q3: exists()返回true但无法读取可能是权限不足检查文件权限配置。Q4: 创建文件后立即读取为空新创建的文件内容为空需要先写入内容再读取。总结FileUtil的文件创建和删除方法为文件管理提供了基础操作支持。本文详细介绍了核心API、使用步骤、完整示例、进阶用法以及常见问题的解决方案。合理使用创建和删除操作可以高效管理应用文件。本文基于pura/harmony-utils工具库更多功能请参考官方文档与后续系列文章。

相关新闻

鸿蒙三方库 | harmony-utils之FileUtil文件读写操作详解

鸿蒙三方库 | harmony-utils之FileUtil文件读写操作详解

前言 文件读写是最基础的文件操作,pura/harmony-utils 的 FileUtil 封装了简洁的文件读写方法,支持文本和二进制数据的读写,开发者无需手动管理文件流。本文将从API说明、代码实战、进阶用法、常见问题等多个维度进行全面讲解,帮助…

2026/10/17 9:46:38 阅读更多 →
顶会论文的产品化落地路径:从论文伪代码到生产级Feature的工程评估体系

顶会论文的产品化落地路径:从论文伪代码到生产级Feature的工程评估体系

顶会论文的产品化落地路径:从论文伪代码到生产级Feature的工程评估体系 一、论文很美好、落地很骨感:顶会成果为何难以产品化 NeurIPS、ICLR、ACL 等顶会每年产出数千篇论文,其中不少提出令人振奋的新方法。但将其转化为产品 Feature 的比例极…

2026/10/13 21:25:01 阅读更多 →
鸿蒙 ArkTS 实战:Knowledge Card Generator 从智能助手到保存闭环完整解析

鸿蒙 ArkTS 实战:Knowledge Card Generator 从智能助手到保存闭环完整解析

鸿蒙 ArkTS 实战:Knowledge Card Generator 从智能助手到保存闭环完整解析 前言 Knowledge Card Generator 是一个面向 知识卡片生成器 的鸿蒙 ArkTS 单页工具。它把主题输入、数量统计、辅助开关、备注和保存状态组织到一个移动端工作台中。 项目服务于 从长文本…

2026/10/16 14:24:33 阅读更多 →

最新新闻

AI辅助专著写作全流程:从选题到定稿的实操指南

AI辅助专著写作全流程:从选题到定稿的实操指南

写一本专著,对绝大多数人来说,第一反应都是“这事太大了”。从选题、搭框架、找文献、写初稿,到来回改格式、统一术语、核对引用,随便哪一环拎出来都够磨掉几个月。更要命的是,很多内容领域里的资深从业者,…

2026/10/17 16:58:03 阅读更多 →
STM32F107实现IEEE1588v2 PTP纳秒级时间同步解析

STM32F107实现IEEE1588v2 PTP纳秒级时间同步解析

简介:面向STM32嵌入式开发者,这份资源提供了在STM32F107上基于LwIP协议栈实现IEEE 1588v2精确时间协议(PTP)的完整方案,包含设计文档与Keil工程代码,适用于工业自动化、电力系统等需要高精度时钟同步的场景…

2026/10/17 16:58:02 阅读更多 →
Ubuntu安装GCC踩坑记:搞懂工具链才能一劳永逸

Ubuntu安装GCC踩坑记:搞懂工具链才能一劳永逸

在 Ubuntu 里装 gcc,乍一听是个三分钟就能搞定的基础操作,网上教程也是一抓一大把。但上周我在一台新拿到的 Ubuntu 工作站上装 gcc,前后折腾了小半天,问题一个接一个:先是最基础的源更新出问题,再是包名找…

2026/10/17 16:58:02 阅读更多 →
威胁情报AI落地实战:从情报处理到检测响应自动化

威胁情报AI落地实战:从情报处理到检测响应自动化

1. 先搞清楚:威胁情报AI到底要解决什么我前前后后做了六年多安全运营,带过SOC,也搭过威胁情报平台,一个特别深的感受是:蓝队真正缺的不是告警,不是规则,更不是又一个炫酷的仪表盘,而…

2026/10/17 16:58:02 阅读更多 →
UE4内存管理实战:深入理解垃圾回收与UObject引用追踪

UE4内存管理实战:深入理解垃圾回收与UObject引用追踪

1. 开篇:UE4内存管理,绕不开的必修课但凡在UE4里做过中大型项目的开发者,都会对内存管理这块有切肤之痛。UE4的垃圾回收机制不是我们平时理解的"GC自动帮你清理一切",它有一套基于UObject和反射系统的标记-清除&#xf…

2026/10/17 16:58:02 阅读更多 →
GNSS/INS松组合导航Matlab实现:卡尔曼滤波与误差状态详解

GNSS/INS松组合导航Matlab实现:卡尔曼滤波与误差状态详解

简介:面向航空航天、自动驾驶与航海等导航应用场景,这份GNSS/INS松组合导航Matlab程序适合需要研究卫星/惯性组合导航算法的工程师与在校生。程序围绕GNSS与INS数据融合展开:先由GNSS轨迹生成模拟惯导输出,再经卡尔曼滤波、四元数…

2026/10/17 16:56:54 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →