# 分布式文件子系统 - [简介](#section104mcpsimp) - [系统架构](#section110mcpsimp) - [目录结构](#section113mcpsimp) - [约束](#section117mcpsimp) - [说明](#section125mcpsimp) - [接口说明](#section127mcpsimp) - [使用说明](#section149mcpsimp) - [相关仓](#section178mcpsimp) ## 简介 分布式文件子系统当前向应用程序提供用于的 IO 的 JS 接口。其具体包括用于管理文件的基本文件接口,用于管理目录的基本目录接口,用于获取文件信息的统计接口,用于流式读写文件的流式接口,以及接收 URI 而非绝对路径的沙盒接口。 ### 系统架构 当前分布式文件子系统仅面向应用提供本地 JS 文件接口,这些接口分别通过 FileIO 模块以及 File 模块提供。架构上,分布式文件子系统实现了自研的 LibN,其抽象了 NAPI 层接口,向分布式文件子系统提供包括基本类型系统、内存管理、通用编程模型在内的基本能力。本系统对外依赖 JS 开发框架提供将 JS 接口转换为 C++ 代码的能力,依赖用户程序框架提供应用相关目录,依赖 GLIBC Runtimes 提供 IO 能力。 **图 1** 分布式文件子系统架构图 ![](figures/分布式文件子系统架构图.png "分布式文件子系统架构图") ## 目录结构 ``` foundation/distributeddatamgr/distributedfile ├── interfaces # 接口层代码 │ └── kits # 对外接口 ``` ## 约束 本地 IO 接口 - 目前仅支持 UTF-8/16 编码; - 目前 URI 暂不支持外部存储目录; ## 说明 ### 接口说明 当前分布式文件子系统开放本地文件目录访问接口,按照功能,其可划分为如下几种类型: **表 1** 接口类型表