# 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/)