Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
304fd89c
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
304fd89c
编写于
9月 30, 2022
作者:
O
onexiaomin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add fileaccess.md fileextensioninfo.md
Signed-off-by:
N
onexiaomin
<
wangminmin4@huawei.com
>
上级
90fedb69
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
790 addition
and
0 deletion
+790
-0
zh-cn/application-dev/reference/apis/js-apis-fileAccess.md
zh-cn/application-dev/reference/apis/js-apis-fileAccess.md
+733
-0
zh-cn/application-dev/reference/apis/js-apis-fileExtensionInfo.md
...plication-dev/reference/apis/js-apis-fileExtensionInfo.md
+57
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-fileAccess.md
0 → 100644
浏览文件 @
304fd89c
# 公共文件访问与管理
fileAccess模块是基于extension机制实现的一个对公共文件访问和操作的框架。该模块一方面对接各类文件管理服务,如媒体库、外置存储管理服务等,另一方面为系统应用提供一套统一的文件访问管理接口。其中,媒体库服务提供本地设备、分布式设备等公共文件访问服务;外置存储管理服务可以提供共享盘、U盘、SD卡等设备的公共文件访问服务。
>![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
>- 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>- 本模块接口为系统接口,三方应用不支持调用,当前只支持filepicker、文件管理器调用。
## 导入模块
```
js
import
fileAccess
from
'
@ohos.data.fileAccess
'
;
```
## fileAccess.getFileAccessAbilityInfo
getFileAccessAbilityInfo( ) : Promise
<
Array
<
Want
>>
以异步方法获取系统内extension配置为fileAcesss类型的所有Want信息。使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
无
**返回值:**
| 类型 | 说明 |
| --- | -- |
| Promise
<
Array
<
Want
>>
| 表示当前系统配置fileAccess的所有文件管理类服务 |
**示例:**
```
js
async
getFileAccessAbilityInfo
()
{
let
wantInfos
=
[];
try
{
wantInfos
=
await
fileAccess
.
getFileAccessAbilityInfo
();
console
.
log
(
"
getFileAccessAbilityInfo data
"
+
JSON
.
stringify
(
wantInfos
));
}
catch
(
error
)
{
console
.
error
(
"
getFileAccessAbilityInfo failed, error
"
+
error
);
}
}
```
## fileAccess.createFileAccessHelper
createFileAccessHelper(context: Context, wants: Array
<
Want
>
) : FileAccessHelper
以同步方法创建连接指定wants的helper对象。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| context | Context | 是 | 代表ability的上下文的能力 |
| wants | Array
<
Want
>
| 是 | Want是一种基本通信组件,主要用于服务拉起 |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| FileAccessHelper | 提供文件访问和操作能力的helper对象 |
**示例:**
```
js
createFileAccessHelper
()
{
let
fileAccesssHelper
=
null
;
// wantInfo 从getFileAccessAbilityInfo()获取
// 创建只连接媒体库服务的helper对象
let
wantInfo
=
{
"
bundleName
"
:
"
com.ohos.medialibrary.medialibrarydata
"
,
"
abilityName
"
:
"
FileExtensionAbility
"
,
}
try
{
fileAccesssHelper
=
fileAccess
.
createFileAccessHelper
(
this
.
context
,
wantInfos
);
if
(
!
fileAccesssHelper
)
console
.
error
(
"
createFileAccessHelper interface returns an undefined object
"
);
}
catch
(
error
)
{
console
.
error
(
"
createFileAccessHelper failed, error
"
+
error
);
}
}
```
## fileAccess.createFileAccessHelper
createFileAccessHelper(context: Context) : FileAccessHelper
以同步方法创建连接当前系统内所有文件管理服务的helper对象。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| context | Context | 是 | ability的上下文的能力 |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| FileAccessHelper | 提供文件访问和操作的能力的helper对象 |
**示例:**
```
js
createFileAccessHelper
()
{
let
fileAccesssHelperAllServer
=
null
;
// 创建连接系统内所有配置fileAccess的文件管理类服务的helper对象
try
{
fileAccesssHelperAllServer
=
fileAccess
.
createFileAccessHelper
(
this
.
context
);
if
(
!
fileAccesssHelperAllServer
)
console
.
error
(
"
createFileAccessHelper interface returns an undefined object
"
);
}
catch
(
error
)
{
console
.
error
(
"
createFileAccessHelper failed, error
"
+
error
);
}
}
```
## FileAccessHelper.getRoots
getRoots( ) : Promise
<
RootIterator
>
以异步方法获取helper对象连接的文件管理服务类的设备根节点信息。使用Promise异步回调。
该方法返回迭代器对象RootIterator,然后通过
[
next
](
#fileaccessrootiteratornext
)
方法返回
[
RootInfo
](
#rootinfo
)
。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
无
**返回值:**
| 类型 | 说明 |
| --- | -- |
| Promise
<
RootIterator
>
| 根设备目录信息组成迭代器对象 |
**示例:**
```
js
async
getRoots
()
{
let
rootIterator
=
null
;
let
rootinfos
=
[];
let
isDone
=
false
;
try
{
rootIterator
=
await
fileAccesssHelper
.
getRoots
();
if
(
!
rootIterator
)
{
console
.
error
(
"
getRoots interface returns an undefined object
"
);
return
;
}
while
(
!
isDone
)
{
let
result
=
rootIterator
.
next
();
console
.
log
(
"
next result =
"
+
JSON
.
stringify
(
result
));
isDone
=
result
.
done
;
if
(
!
isDone
)
rootinfos
.
push
(
result
.
value
);
}
}
catch
(
error
)
{
console
.
error
(
"
getRoots failed, error
"
+
error
);
}
}
```
## RootInfo.listfile
listFile(filter?: Filter) : FileIterator
以同步方法从某设备根节点开始,基于过滤器,获取第一级符合条件的文件(夹)信息的迭代器对象FileIterator,然后通过
[
next
](
#fileaccessfileiteratornext
)
方法返回
[
FileInfo
](
#fileinfo
)
。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | -- | -- |
| filter | Filter | 否 | 过滤器对象 |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| FileIterator | 文件(夹)信息的迭代器对象FileIterator |
**示例:**
```
js
// rootinfos 从getRoots()获取
// let filter = {suffix : [".txt", ".jpg", ".xlsx"]};
let
rootInfo
=
rootinfos
[
0
];
let
fileInfos
=
[];
let
isDone
=
false
;
try
{
let
fileIterator
=
rootInfo
.
listFile
();
// 含过滤器实现的listFile
// let fileIterator = rootInfo.listFile(filter);
if
(
fileIterator
)
{
console
.
error
(
"
listFile interface returns an undefined object
"
);
return
;
}
while
(
!
isDone
)
{
let
result
=
fileIterator
.
next
();
console
.
log
(
"
next result =
"
+
JSON
.
stringify
(
result
));
isDone
=
result
.
done
;
if
(
!
isDone
)
fileInfos
.
push
(
result
.
value
);
}
}
catch
(
error
)
{
console
.
log
(
"
listFile failed, error
"
+
error
);
}
```
## RootInfo.scanFile
scanFile(filter?: Filter) : FileIterator
以同步方法从某设备根节点开始,基于过滤器,递归获取符合条件的文件信息的迭代器对象FileIterator,然后通过
[
next
](
#fileaccessfileiteratornext
)
方法返回
[
FileInfo
](
#fileinfo
)
。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | -- | -- |
| filter | Filter | 否 | 过滤器对象 |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| FileIterator | 文件信息的迭代器对象FileIterator |
**示例:**
```
js
// rootinfos 从 getRoots()获取
// let filter = {suffix : [".txt", ".jpg", ".xlsx"]};
let
rootInfo
=
rootinfos
[
0
];
let
fileInfos
=
[];
let
isDone
=
false
;
try
{
let
fileIterator
=
rootInfo
.
scanFile
();
// 含过滤器实现的scanFile
// let fileIterator = rootInfo.scanFile(filter);
if
(
fileIterator
)
{
console
.
error
(
"
scanFile interface returns undefined object
"
);
return
;
}
while
(
!
isDone
)
{
let
result
=
fileIterator
.
next
();
console
.
log
(
"
next result =
"
+
JSON
.
stringify
(
result
));
isDone
=
result
.
done
;
if
(
!
isDone
)
fileInfos
.
push
(
result
.
value
);
}
}
catch
(
error
)
{
console
.
error
(
"
scanFile failed, error
"
+
error
);
}
```
## FileInfo.listfile
listFile(filter?: Filter) : FileIterator
以同步方法从某个目录,基于过滤器,获取下一级符合条件的文件(夹)信息的迭代器对象FileIterator,然后通过
[
next
](
#fileaccessfileiteratornext
)
方法返回
[
FileInfo
](
#fileinfo
)
。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | -- | -- |
| filter | Filter | 否 | 过滤器对象 |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| FileIterator | 文件(夹)信息的迭代器对象FileIterator |
**示例:**
```
js
// fileInfoDir 表示某个目录信息
// let filter = { suffix : [".txt", ".jpg", ".xlsx"] };
let
fileInfoDir
=
fileInfos
[
0
];
let
subfileInfos
=
[];
let
isDone
=
false
;
try
{
let
fileIterator
=
fileInfoDir
.
listFile
();
// 含过滤器实现的listFile
// let fileIterator = rootInfo.listFile(filter);
if
(
fileIterator
)
{
console
.
error
(
"
listFile interface returns an undefined object
"
);
return
;
}
while
(
!
isDone
)
{
let
result
=
fileIterator
.
next
();
console
.
log
(
"
next result =
"
+
JSON
.
stringify
(
result
));
isDone
=
result
.
done
;
if
(
!
isDone
)
subfileInfos
.
push
(
result
.
value
);
}
}
catch
(
error
)
{
console
.
error
(
"
listFile failed, error
"
+
error
);
}
```
## FileInfo.scanfile
scanFile(filter?: Filter) : FileIterator;
以同步方法从某个目录,基于过滤器,递归获取符合条件的文件信息的迭代器对象FileIterator,然后通过
[
next
](
#fileaccessfileiteratornext
)
方法返回
[
FileInfo
](
#fileinfo
)
。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | -- | -- |
| filter | Filter | 否 | 过滤器对象 |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| FileIterator | 文件信息的迭代器对象FileIterator |
**示例:**
```
js
// fileInfoDir 表示某个目录信息
// let filter = {suffix : [".txt", ".jpg", ".xlsx"]};
let
fileInfoDir
=
fileInfos
[
0
];
let
subfileInfos
=
[];
let
isDone
=
false
;
try
{
let
fileIterator
=
fileInfoDir
.
scanFile
();
// 含过滤器实现的scanFile
// let fileIterator = rootInfo.scanFile(filter);
if
(
fileIterator
)
{
console
.
error
(
"
scanFile interface returns an undefined object
"
);
return
;
}
while
(
!
isDone
)
{
let
result
=
fileIterator
.
next
();
console
.
error
(
"
next result =
"
+
JSON
.
stringify
(
result
));
isDone
=
result
.
done
;
if
(
!
isDone
)
subfileInfos
.
push
(
result
.
value
);
}
}
catch
(
error
)
{
console
.
error
(
"
scanFile-filter failed, error
"
+
error
);
}
```
## FileAccessHelper.createFile
createFile(uri: string, displayName: string) : Promise
<
string
>
以异步方法创建文件到指定目录,返回新文件uri。使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| uri | string | 是 | 表示需要创建文件的父目录的Uri |
| displayName | string | 是 | 待创建文件的名称,本地文件需要添加后缀,共享盘不要求|
**返回值:**
| 类型 | 说明 |
| --- | -- |
| Promise
<
string
>
| 新创建的文件的uri |
**示例:**
```
js
// 以共享盘uri为例
let
sourceUri
=
"
datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon
"
;
let
displayName
=
"
file1
"
let
fileUri
=
null
;
try
{
fileUri
=
await
fileAccessHelper
.
createFile
(
sourceUri
,
displayName
)
if
(
!
fileUri
)
{
console
.
error
(
"
createFile return undefined object
"
);
return
;
}
console
.
log
(
"
createFile sucess, fileUri:
"
+
JSON
.
stringify
(
fileUri
));
}
catch
(
error
)
{
console
.
error
(
"
createFile failed, error
"
+
error
);
};
```
## FileAccessHelper.mkDir
mkDir(parentUri: string, displayName: string) : Promise
<
string
>
以异步方法创建文件夹到指定目录,返回文件夹uri。使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.UserFileService
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| parentUri | string | 是 | 表示需要创建文件夹的父目录的Uri |
| displayName | string | 是 | 待创建文件夹的名称|
**返回值:**
| 类型 | 说明 |
| --- | -- |
| Promise
<
string
>
| 新创建的文件夹的uri |
**示例:**
```
js
// 以共享盘uri为例
let
sourceUri
=
"
datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon
"
;
let
dirName
=
"
dirTest
"
let
dirUri
=
null
;
try
{
dirUri
=
await
fileAccessHelper
.
mkDir
(
sourceUri
,
displayName
)
if
(
!
dirUri
)
{
console
.
error
(
"
mkDir return undefined object
"
);
return
;
}
console
.
log
(
"
mkDir sucess, fileUri:
"
+
JSON
.
stringify
(
fileUri
));
}
catch
(
error
)
{
console
.
error
(
"
mkDir failed, error
"
+
error
);
};
```
## FileAccessHelper.openFile
openFile(uri: string, flags:
[
OPENFLAGS
](
#openflags
)
) : Promise
<
number
>
以异步方法打开文件,返回文件句柄。使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| uri | string | 是 | 待打开文件的uri |
| flags | OPENFLAGS | 文件打开的标志 |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| Promise
<
number> | 文件句柄 |
**示例:**
```
js
// 以共享盘uri为例
let
targetUri
=
"
datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon/file1
"
;
try
{
let
fd
=
await
fileAccessHelper
.
openFile
(
targetUri
,
OPENFLAGS
.
READ
);
}
cache
(
error
)
{
console
.
error
(
"
openFile failed, error
"
+
error
);
};
```
## FileAccessHelper.delete
delete(uri: string) : Promise
<
number
>
以异步方法删除文件(夹),返回错误码。使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| uri | string | 是 | 待删除文件(夹)的uri |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| Promise
<
number> | 删除操作的错误码 |
**示例:**
```
js
// 以共享盘uri为例
let
targetUri
=
"
datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon/file1
"
;
try
{
let
code
=
await
fileAccessHelper
.
delete
(
targetUri
);
if
(
code
!=
0
)
console
.
error
(
"
delete failed, code
"
+
code
);
}
cache
(
error
)
{
console
.
error
(
"
delete failed, error
"
+
error
);
};
```
## FileAccessHelper.move
move(sourceFile: string, destFile: string) : Promise
<
string
>
以异步方法移动文件(夹),返回移动后文件(夹)的uri。使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| sourceFile | string | 是 | 待移动的源文件(夹)的uri |
| destFile | string | 是 | 目标文件夹的uri |
**返回值:**
| 类型 | 说明 |
| ----- | ------ |
| Promise
<
string
>
| 新路径下的文件(夹)的uri |
**示例:**
```
js
// 以共享盘uri为例
let
sourceFile
=
"
datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon/file1
"
;
let
destFile
=
"
datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon/dirTest
"
;
try
{
let
fileUri
=
await
fileAccessHelper
.
move
(
sourceFile
,
destFile
);
console
.
log
(
"
move sucess, fileUri:
"
+
JSON
.
stringify
(
fileUri
));
}
cache
(
error
)
{
console
.
error
(
"
move failed, error
"
+
error
);
};
```
## FileAccessHelper.rename
rename(uri: string, displayName: string) : Promise
<
string
>
以异步方法重命名文件(夹),返回重命名后的文件(夹)的Uri。使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| uri | string | 是 | 源文件(夹)的uri |
| displayName | string | 是 | 文件(夹)名,支持带后缀 |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| Promise
<
string
>
| 重命名后的文件(夹)的uri |
**示例:**
```
js
// 以共享盘uri为例
let
sourceDir
=
"
datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon/dirTest
"
;
try
{
let
DestDir
=
await
fileAccessHelper
.
rename
(
sourceDir
,
"
testDir
"
);
console
.
log
(
"
rename sucess, DestDir:
"
+
JSON
.
stringify
(
DestDir
));
}
cache
(
error
)
{
console
.
error
(
"
rename failed, error
"
+
error
);
};
```
## FileAccessHelper.access
access(sourceFileUri: string) : Promise
<
boolean
>
以异步方法判断文件(夹)是否存在。使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | -- |
| sourceFileUri | string | 是 | 文件(夹)的uri |
**返回值:**
| 类型 | 说明 |
| --- | -- |
| Promise
<
boolean
>
| 文件(夹)是否存在 |
**示例:**
```
js
// 以共享盘uri为例
let
sourceDir
=
"
datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon/dirTest
"
;
try
{
let
existJudgment
=
await
fileAccessHelper
.
access
(
sourceDir
);
if
(
existJudgment
)
console
.
log
(
"
sourceDir exists
"
);
else
console
.
log
(
"
sourceDir does not exist
"
);
}
cache
(
error
)
{
console
.
error
(
"
rename failed, error
"
+
error
);
};
```
## RootIterator.next
next( ) : { value: RootInfo, done: boolean }
RootIterator表示设备根目录的迭代器对象,可以通过next同步方法获取下一级设备根目录。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
无
**返回值:**
| 类型 | 说明 |
| --- | -- |
| {value: RootInfo, done: boolean} | 通过next遍历文件夹,直到done返回true结束;value字段返回rootInfo。|
## FileIterator.next
next( ) : { value: FileInfo, done: boolean }
FileIterator表示文件夹的迭代器对象,可以通过next同步方法获取下一级文件(夹)信息。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
**参数:**
无
**返回值:**
| 类型 | 说明 |
| --- | -- |
| {value: FileInfo, done: boolean} | 通过next遍历文件夹,直到done返回true结束;value字段返回fileInfo。|
## RootInfo
表示设备的根属性信息和接口能力。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
### 属性
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------ | ------ | -------- | ------ | -------- |
| deviceType | number | 是 | 否 |设备类型 |
| uri | string | 是 | 否 | 设备根目录Uri |
| displayName | string | 是 | 否 | 设备名称 |
| deviceFlags | number | 是 | 否 | 设备支持的能力 |
## FileInfo
表示文件(夹)属性信息和接口能力。
**系统能力**
:SystemCapability.FileManagement.UserFileService。
**需要权限**
:ohos.permission.FILE_ACCESS_MANAGER
### 属性
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------ | ------ | -------- | ------ | -------- |
| uri | string | 是 | 否 | 文件(夹)的uri |
| fileName | string | 是 | 否 | 文件(夹)的名称 |
| mode | number | 是 | 否 | 文件(夹)的权限信息 |
| size | number | 是 | 否 | 文件(夹)的大小 |
| mtime | number | 是 | 否 | 文件(夹)的修改时间 |
| mimeType | string | 是 | 否 | 文件(夹)的媒体资源类型 |
## OPENFLAGS
目前支持的文件打开的标志位。
**系统能力:**
SystemCapability.FileManagement.UserFileService
| 名称 | 值 | 说明 |
| ----- | ------ | ------ |
| READ | 0o0 | 读模式。 |
| WRITE | 0o1 | 写模式。 |
| WRITE_READ | 0o2 | 读写模式。 |
zh-cn/application-dev/reference/apis/js-apis-fileExtensionInfo.md
0 → 100644
浏览文件 @
304fd89c
# 公共文件访问与管理
该模块提供公共文件访问和管理模块中RootInfo与FileInfo中部分属性值的定义。
>![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
>- 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
js
import
fileExtensionInfo
from
'
@ohos.fileExtensionInfo
'
;
```
## fileExtensionInfo.DeviceType
组成RootInfo中的deviceType字段,表明此设备的类型。
**系统能力**
:SystemCapability.FileManagement.UserFileService
| 名称 | 值 | 说明 |
| ----- | ------ | ------ |
| DEVICE_LOCAL_DISK | 1 | 本地c,d...盘。 |
| DEVICE_SHARED_DISK | 2 | 多用户共享盘。 |
| DEVICE_SHARED_TERMINAL | 3 | 分布式网络终端设备。 |
| DEVICE_NETWORK_NEIGHBORHOODS | 4 | 网络邻居设备。 |
| DEVICE_EXTERNAL_MTP | 5 | MTP设备。 |
| DEVICE_EXTERNAL_USB | 6 | USB设备。 |
| DEVICE_EXTERNAL_CLOUD | 7 | 云盘设备。 |
## fileExtensionInfo.DeviceFlag
组成RootInfo中的deviceFlags字段,通过与运算判断是否具备某种能力。
**系统能力**
:SystemCapability.FileManagement.UserFileService
### 属性
| 名称 | 类型 | 值 | 可读 | 可写 | 说明 |
| ------ | ------ | ---- | ---- | ---- | -------- |
| SUPPORTS_READ | number | 0b1 | 是 | 否 | 支持读 |
| SUPPORTS_WRITE | number | 0b10 | 是 | 否 | 支持写 |
## fileExtensionInfo.DocumentFlag
组成FileInfo中的mode字段,通过与运算判断是否具备某种能力。
**系统能力**
:SystemCapability.FileManagement.UserFileService
### 属性
| 名称 | 类型 | 值 | 可读 | 可写 | 说明 |
| ------ | ------ | ---- | ---- | ---- | -------- |
| REPRESENTS_FILE | number | 0b1 | 是 | 否 | 代表文件 |
| REPRESENTS_DIR | number | 0b10 | 是 | 否 | 代表目录 |
| SUPPORTS_READ | number | 0b100 | 是 | 否 | 支持读 |
| SUPPORTS_WRITE | number | 0b1000 | 是 | 否 | 支持写 |
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录