鸿蒙OS 文件管理

预计阅读时间1 分 302 views

在操作系统中,存在各种各样的数据。HarmonyOS 文件管理模块提供了丰富的 API,方便开发者安全高效地处理应用和用户文件。

一、文件分类

HarmonyOS 将文件分为三类:

  • 应用文件: 应用私有文件,包括安装文件、资源文件、缓存文件等。
  • 用户文件: 用户私有文件,例如图片、视频、音频、文档等。
  • 系统文件: 与应用和用户无关的文件,例如系统库、设备文件等。

开发者主要关注应用文件和用户文件的管理。

二、文件系统类型

HarmonyOS 支持两种文件系统:

  • 本地文件系统: 提供对本地设备和外置存储设备 (如 U 盘) 的文件访问能力。
  • 分布式文件系统: 提供跨设备的文件访问能力,文件可存储在本地或远程设备上。

三、应用文件管理

开发者可以使用 io 模块提供的 API 管理应用文件。

1. 访问应用资源文件:

import fs from '@ohos.file.fs'; // 引入文件系统模块  
  
// 读取应用资源文件内容  
fs.readFile('/data/storage/app/files/yourAppName/data.txt')  
  .then((data) => {  
    console.log('File content:', data.toString()); // 打印文件内容  
  })  
  .catch((error) => {  
    console.error('Failed to read file:', error); // 处理读取错误  
  });

2. 创建应用缓存文件:

import fs from '@ohos.file.fs'; // 引入文件系统模块  
  
// 将数据写入应用缓存文件  
fs.writeFile('/data/storage/app/cache/yourAppName/cache.json', JSON.stringify({ key: 'value' }))  
  .then(() => {  
    console.log('Cache file created successfully.'); // 创建缓存文件成功提示  
  })  
  .catch((error) => {  
    console.error('Failed to create cache file:', error); // 处理写入错误  
  });

四、用户文件管理

访问用户文件需要使用系统提供的文件选择器或申请相应的权限。

1. 使用文件选择器打开用户文件:

import filepicker from '@ohos.filepicker';

filepicker.showOpenFilePicker()
  .then((fileInfos) => {
    if (fileInfos && fileInfos.length > 0) {
      let fileInfo = fileInfos[0];
      console.log('Selected file:', fileInfo.uri);
    }
  })
  .catch((error) => {
    console.error('Failed to open file picker:', error);
  });

2. 申请权限访问用户文件:

开发者需要在配置文件中声明需要访问的特定目录权限,例如:

"requestPermissions": [  
  {  
    "name": "ohos.permission.READ_USER_STORAGE", // 声明读取用户存储的权限  
    "reason": "需要读取用户存储空间中的文件", // 权限申请理由  
    "usedScene": {  
      "ability": [  
        "com.example.app.MainAbility" // 指定需要该权限的Ability  
      ],  
      "when": "inuse" // 权限使用时机,例如“在使用时”  
    }  
  }  
]
分享此文档

鸿蒙OS 文件管理

或复制链接

本页目录