# OpenUSBFile **Repository Path**: scenario-samples/open-usbfile ## Basic Information - **Project Name**: OpenUSBFile - **Description**: 【鸿蒙 Harmony Next 示例 代码】本示例实现了通过调用系统文件管理器来访问外置存储(例如U盘)中的文件。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-23 - **Last Updated**: 2025-06-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 访问U盘中的文件 ## 介绍 本示例实现了通过调用系统文件管理器来访问外置存储(例如U盘)中的文件。 ## 效果预览 ## 使用说明 更改UI界面相关配置,通过核心代码实现U盘中文件的访问。 ## 约束与限制 - 本示例支持API Version 17 Release及以上版本。 - 本示例支持HarmonyOS 5.0.5 Release SDK及以上版本。 - 本示例需要使用DevEco Studio 5.0.5 Release及以上版本进行编译运行。 ## 权限说明 无 ## 实现思路 外置存储设备(例如U盘)上的文件,全部以普通文件的形式呈现,和内置存储设备上的文档类文件一样,采用目录树的形式对外展示。实现U盘中文件的访问,可以调用文件管理器,像访问内置存储文件一样,对外置存储文件进行访问。 核心代码如下所示: ```typescript import { common } from '@kit.AbilityKit'; // 导入AbilityKit的common模块 import { Want } from '@kit.AbilityKit'; export class AppUtil { // 静态变量,用于存储UIAbility的上下文信息 private static context: common.UIAbilityContext; static getContext(): common.UIAbilityContext { if (!AppUtil.context) { AppUtil.context = getContext() as common.UIAbilityContext; console.error("context为空,请在UIAbility的onWindowStageCreate方法中调用AppUtil的init方法初始化!"); } return AppUtil.context; } } @Entry @Component struct Index { build() { Row() { Column() { Button('查看文件') .fontSize(20) .fontWeight(FontWeight.Bold) .onClick(() => { // 调用文件管理器 let context = AppUtil.getContext(); // 创建一个Want对象,用于描述启动系统文件管理器的意图 let want: Want = { // 设置系统文件管理器的包名 bundleName: 'com.huawei.hmos.filemanager', // 设置系统文件管理器的主Ability名称 abilityName: 'MainAbility', }; // 使用UIAbility上下文启动系统文件管理器,传入之前创建的Want对象 return context.startAbility(want); }) } .width('100%') } .height('100%') } } ``` ## 工程目录 ``` entry/src/main/ets/ |---entryability | |---EntryAbility.ets |---entrybackupability | |---EntryBackupAbility.ets |---pages | |---index.ets ``` ## 参考文档 [Want](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-app-ability-want) ## 一份简单的问卷反馈 亲爱的Harmony Next开发者,您好!
为了协助您高效开发,提高鸿蒙场景化示例的质量,希望您在浏览或使用后抽空填写一份简单的问卷,我们将会收集您的宝贵意见进行优化:heart: [:arrow_right: **点击此处填写问卷** ](https://wj.qq.com/s2/19042938/95ab/)