鸿蒙三方库 | harmony-utils之FileUtil临时目录与下载目录详解
前言临时文件和下载文件是应用中常见的文件类型合理管理这些文件对存储空间管理很重要。pura/harmony-utils的FileUtil封装了临时目录和下载目录的管理方法。本文将从API说明、代码实战、进阶用法、常见问题等多个维度进行全面讲解帮助开发者快速掌握并应用到实际项目中。一、FileUtil目录管理核心APIFileUtil提供了以下目录管理方法方法说明返回类型使用场景getTempDir()获取临时目录string临时文件存储getDownloadDir()获取下载目录string下载文件存储cleanTempDir()清理临时目录void释放存储空间cleanCacheDir()清理缓存目录void释放存储空间1.1 核心特性简洁易用封装复杂API为一行调用降低使用门槛类型安全完整的TypeScript类型定义编译期即可发现错误异常处理内置异常捕获机制避免运行时崩溃一键清理支持一键清理临时和缓存目录1.2 目录类型对照目录用途生命周期清理策略临时目录临时处理文件短期手动/系统清理下载目录下载文件长期用户手动清理缓存目录缓存数据中期手动/系统清理二、完整使用步骤2.1 安装依赖ohpminstallpura/harmony-utils2.2 获取临时目录import{FileUtil}frompura/harmony-utils;Button(获取临时目录).width(100%).onClick((){try{lettempDirFileUtil.getTempDir();this.result临时目录:\n${tempDir};}catch(e){this.result异常: e;}})2.3 清理临时文件Button(清理临时目录).width(100%).onClick((){try{FileUtil.cleanTempDir();this.result临时目录已清理 ;}catch(e){this.result异常: e;}})Button(清理缓存目录).width(100%).onClick((){try{FileUtil.cleanCacheDir();this.result缓存目录已清理 ;}catch(e){this.result异常: e;}})三、完整页面示例import{FileUtil}frompura/harmony-utils;EntryComponentstruct FileDirDemo{Stateresult:string;build(){Column({space:12}){Button(获取目录信息).width(100%).onClick((){try{lettempFileUtil.getTempDir();letcacheFileUtil.getCacheDir();this.result临时:${temp}\n缓存:${cache};}catch(e){this.result异常: e;}});Button(清理缓存).width(100%).onClick((){try{FileUtil.cleanCacheDir();this.result缓存已清理;}catch(e){this.result异常: e;}});Text(this.result).fontSize(14).fontColor(#333333)}.padding(16)}}四、进阶用法4.1 存储空间管理器import{FileUtil}frompura/harmony-utils;classStorageManager{getStorageInfo():Recordstring,string{return{tempDir:FileUtil.getTempDir(),cacheDir:FileUtil.getCacheDir(),filesDir:FileUtil.getFilesDir()};}cleanAll():void{FileUtil.cleanTempDir();FileUtil.cleanCacheDir();}}4.2 定时清理策略functionscheduleCleanup():void{letlastCleanPreferencesUtil.getString(last_clean_time,);letnowDateUtil.getNow();if(now-lastClean7*24*3600*1000){FileUtil.cleanTempDir();FileUtil.cleanCacheDir();PreferencesUtil.putString(last_clean_time,now);}}五、注意事项清理时机建议在应用启动或设置页面提供清理入口数据丢失清理操作不可逆确保不清理重要数据清理范围仅清理应用自己的临时和缓存目录初始化依赖使用前需确保AppUtil.init()已调用用户提示清理前建议提示用户确认六、常见问题Q1: cleanTempDir()会删除所有临时文件吗是的会删除临时目录下的所有文件请确保不需要这些文件后再清理。Q2: 清理后应用变慢缓存被清理后需要重新生成首次访问可能较慢属于正常现象。Q3: 下载目录可以清理吗下载目录包含用户下载的文件不建议自动清理应由用户手动管理。Q4: 如何查看各目录占用的空间需要递归计算目录下所有文件的大小总和。总结FileUtil的目录管理方法为应用存储空间管理提供了便捷支持。本文详细介绍了核心API、使用步骤、完整示例、进阶用法以及常见问题的解决方案。合理管理临时和缓存目录可以优化应用的存储空间使用。本文基于pura/harmony-utils工具库更多功能请参考官方文档与后续系列文章。

相关新闻

AM263x eCAP模块:高精度捕获与PWM生成的硬件加速器

AM263x eCAP模块:高精度捕获与PWM生成的硬件加速器

1. 项目概述:为什么你需要关注AM263x的eCAP模块? 如果你正在设计一个需要精确测量电机转速、解码旋转编码器信号,或者需要生成一个高分辨率PWM波形的嵌入式系统,那么你大概率绕不开“捕获”和“比较”这两个核心功能。传统的做法可…

2026/10/15 20:31:51 阅读更多 →
Doris数据库性能优化实战:从参数配置到查询调优

Doris数据库性能优化实战:从参数配置到查询调优

1. Doris数据库优化概述Apache Doris作为一款开源的MPP分析型数据库,凭借其出色的实时分析能力和易用性,近年来在数据仓库、用户行为分析、日志分析等场景中得到了广泛应用。但在实际生产环境中,随着数据量的增长和查询复杂度的提升&#xff…

2026/10/16 16:42:47 阅读更多 →
Unity3D游戏开发实战:从“水果忍者”源码解析2D物理与对象池优化

Unity3D游戏开发实战:从“水果忍者”源码解析2D物理与对象池优化

1. 项目概述:从“切水果”到游戏开发实战“水果忍者”这款游戏,相信大家都不陌生,它曾经是智能手机触屏时代的一个标志性符号。手指划过屏幕,切开飞溅的水果,那种爽快的反馈感,至今仍让许多玩家津津乐道。但…

2026/10/16 18:02:55 阅读更多 →

最新新闻

GitHub 开源趋势日报 | 2026年10月8日:AI Agent 与 TypeScript 项目实战配置指南

GitHub 开源趋势日报 | 2026年10月8日:AI Agent 与 TypeScript 项目实战配置指南

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

2026/10/18 19:43:30 阅读更多 →
插入排序为何在工程中比冒泡更受欢迎?

插入排序为何在工程中比冒泡更受欢迎?

1. 项目概述:从一道经典面试题切入真实工程选择逻辑“为什么插入排序比冒泡排序更受欢迎?”——这道题常出现在算法入门课的期末卷、校招笔试的选择题第3题,甚至某次技术面中面试官随口一问。但如果你真以为这只是在考“谁交换次数少”或者“…

2026/10/18 19:43:30 阅读更多 →
Claude Code 权限模式完全指南:Auto、Bypass、Ask 三模式深度解析与 TaoToken 接入实践

Claude Code 权限模式完全指南:Auto、Bypass、Ask 三模式深度解析与 TaoToken 接入实践

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

2026/10/18 19:43:30 阅读更多 →
Unity3D快抢红包互动小游戏开发全流程:从玩法设计到真机适配踩坑记录

Unity3D快抢红包互动小游戏开发全流程:从玩法设计到真机适配踩坑记录

做活动互动开发的人应该都有感觉,需求方现在越来越不满足于“摇一摇”“扫码抽奖”这种老套路,点名要的往往是更有画面感、更刺激的玩法。Unity3D 快抢红包互动小游戏这类项目,就是在这种需求里反复出现的类型:大屏上倒计时跳动&a…

2026/10/18 19:43:30 阅读更多 →
本地化AI代码评审系统:Java静态分析与GLM-4双通道实践

本地化AI代码评审系统:Java静态分析与GLM-4双通道实践

简介:这是一套面向Java中高级开发者与AI工程实践者的代码质量提升工具,聚焦于利用人工智能技术实现Java代码的自动化评审与漏洞识别,适用于CI/CD集成、团队代码规范统一及个人代码健壮性自查等场景。资源共34个文件,含24个Java核心…

2026/10/18 19:43:30 阅读更多 →
Cursor Agent 文件写入频繁要求确认 — 排查记录与 TaoToken 配置实践

Cursor Agent 文件写入频繁要求确认 — 排查记录与 TaoToken 配置实践

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

2026/10/18 19:42:30 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →