FileSystem API提供了一个类似的NodeJS - 类似的API,用于与设备上的文件一起工作。/p>
NPM./span>
安装/span>
@电容/文件系统NPX帽span class="token function sc-docs-component" c-id="4.24.7.4">
同步/span>
如果使用a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.31.6.1">
阅读a href="//www.jesscamp.com/capacitor/docs/android/configuration" class="sc-docs-component" c-id="4.87.6.1">
设置权限/a>
在里面a href="//www.jesscamp.com/capacitor/docs/android" class="sc-docs-component" c-id="4.90.6.3">
Android指南/a>
有关设置Android权限的详细信息。/p>
注意a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.95.6.1">
iOS和Android在文件之间具有额外的分离层,例如备份到云的特殊目录,或用于存储文档的特殊目录。FileSystem API提供了一种简单的方法,可以在设备上的特定特殊目录中使用每个操作。/p>
此外,文件系统API使用完整支持code class="sc-docs-component" c-id="4.109.6.1">
文件:///code>
路径或阅读code class="sc-docs-component" c-id="4.112.6.3">
内容:///code>
Android上的文件。只是遗漏了code class="sc-docs-component" c-id="4.115.6.5">
目录/code>
使用完整文件路径的Param。/p>
从磁盘读取文件/p>
返回:/strong>
自从:/strong>
1.0.0./p>
将文件写入设备上指定位置的磁盘/p>
返回:/strong>
自从:/strong>
1.0.0./p>
在设备上的指定位置上附加到磁盘上的文件/p>
自从:/strong>
1.0.0./p>
从磁盘中删除文件/p>
自从:/strong>
1.0.0./p>
创建一个目录。/p>
自从:/strong>
1.0.0./p>
删除目录/p>
自从:/strong>
1.0.0./p>
从目录中返回文件列表(不是递归)/p>
返回:/strong>
自从:/strong>
1.0.0./p>
返回路径和目录的完整文件URI/p>
返回:/strong>
自从:/strong>
1.0.0./p>
返回关于文件的数据/p>
返回:/strong>
自从:/strong>
1.0.0./p>
重命名文件或目录/p>
自从:/strong>
1.0.0./p>
复制文件或目录/p>
自从:/strong>
1.0.0./p>
检查读/写权限。仅在Android时才才能使用a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.1369.7.1">
返回:/strong>
自从:/strong>
1.0.0./p>
请求读/写权限。仅在Android时才才能使用a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.1419.7.1">
返回:/strong>
自从:/strong>
1.0.0./p>
directory.documents./code>
要么code class="sc-docs-component" c-id="4.35.6.3">
directory.externalstorage./code>
,此API需要将以下权限添加到您的code class="sc-docs-component" c-id="4.38.6.5">
androidmanifest.xml./code>
:/p>
/span>
使用允许/span>
安卓:/span>
姓名/span>
=/span>
“/span>
android.permission.read_external_storage.span class="token punctuation sc-docs-component" c-id="4.59.9.3">
“/span>
/>/span>
/span>
使用允许/span>
安卓:/span>
姓名/span>
=/span>
“/span>
android.permission.write_external_storage.span class="token punctuation sc-docs-component" c-id="4.80.9.3">
“/span>
/>/span>
directory.documents./code>
和code class="sc-docs-component" c-id="4.99.6.3">
directory.externalstorage./code>
仅适用于Android 9或以上。/p>
了解目录和文件/h2>
例子/h2>
进口/span>
{/span>
文件系统span class="token punctuation sc-docs-component" c-id="4.129.7.4">
那/span>
目录span class="token punctuation sc-docs-component" c-id="4.132.7.6">
那/span>
编码span class="token punctuation sc-docs-component" c-id="4.135.7.8">
}/span>
从/span>
'@电容/文件系统'/span>
;/span>
Const./span>
WriteSecretfile./span>
=/span>
异步/span>
(/span>
的)/span>
=>/span>
{/span>
等待/span>
文件系统span class="token punctuation sc-docs-component" c-id="4.172.7.32">
。/span>
writefile./span>
(/span>
{/span>
小路span class="token operator sc-docs-component" c-id="4.181.7.37">
:/span>
'秘密/ text.txt'/span>
那/span>
数据span class="token operator sc-docs-component" c-id="4.189.7.42">
:/span>
“这是一个测验”/span>
那/span>
目录span class="token operator sc-docs-component" c-id="4.197.7.47">
:/span>
目录span class="token punctuation sc-docs-component" c-id="4.200.7.49">
。/span>
文件span class="token punctuation sc-docs-component" c-id="4.203.7.51">
那/span>
编码span class="token operator sc-docs-component" c-id="4.206.7.53">
:/span>
编码span class="token punctuation sc-docs-component" c-id="4.209.7.55">
。/span>
UTF8./span>
那/span>
}/span>
的)/span>
;/span>
}/span>
;/span>
Const./span>
readsecretfile./span>
=/span>
异步/span>
(/span>
的)/span>
=>/span>
{/span>
Const./span>
内容span class="token operator sc-docs-component" c-id="4.254.7.83">
=/span>
等待/span>
文件系统span class="token punctuation sc-docs-component" c-id="4.260.7.87">
。/span>
readfile./span>
(/span>
{/span>
小路span class="token operator sc-docs-component" c-id="4.269.7.92">
:/span>
'秘密/ text.txt'/span>
那/span>
目录span class="token operator sc-docs-component" c-id="4.277.7.97">
:/span>
目录span class="token punctuation sc-docs-component" c-id="4.280.7.99">
。/span>
文件span class="token punctuation sc-docs-component" c-id="4.283.7.101">
那/span>
编码span class="token operator sc-docs-component" c-id="4.286.7.103">
:/span>
编码span class="token punctuation sc-docs-component" c-id="4.289.7.105">
。/span>
UTF8./span>
那/span>
}/span>
的)/span>
;/span>
安慰/span>
。/span>
日志/span>
(/span>
'秘密:'/span>
那/span>
内容span class="token punctuation sc-docs-component" c-id="4.316.7.120">
的)/span>
;/span>
}/span>
;/span>
Const./span>
deletesecretfile./span>
=/span>
异步/span>
(/span>
的)/span>
=>/span>
{/span>
等待/span>
文件系统span class="token punctuation sc-docs-component" c-id="4.352.7.143">
。/span>
删除文件/span>
(/span>
{/span>
小路span class="token operator sc-docs-component" c-id="4.361.7.148">
:/span>
'秘密/ text.txt'/span>
那/span>
目录span class="token operator sc-docs-component" c-id="4.369.7.153">
:/span>
目录span class="token punctuation sc-docs-component" c-id="4.372.7.155">
。/span>
文件span class="token punctuation sc-docs-component" c-id="4.375.7.157">
那/span>
}/span>
的)/span>
;/span>
}/span>
;/span>
Const./span>
readfilepath./span>
=/span>
异步/span>
(/span>
的)/span>
=>/span>
{/span>
//这是一个带有完整文件路径的文件的示例。用这个/span>
//从返回文件URI的插件中读取二进制数据(Base64编码),例如/span>
// 相机。/span>
Const./span>
内容span class="token operator sc-docs-component" c-id="4.425.7.189">
=/span>
等待/span>
文件系统span class="token punctuation sc-docs-component" c-id="4.431.7.193">
。/span>
readfile./span>
(/span>
{/span>
小路span class="token operator sc-docs-component" c-id="4.440.7.198">
:/span>
'文件:///var/mobile/containers/data/application/22a433fd-d82d-4989-8be6-9fc49dea20bb/documents/text.txt'/span>
}/span>
的)/span>
;/span>
安慰/span>
。/span>
日志/span>
(/span>
'数据:'/span>
那/span>
内容span class="token punctuation sc-docs-component" c-id="4.466.7.213">
的)/span>
;/span>
}/span>
;/span>
API./h2>
readfile(...)/h3>
readfile./span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.572.8.3">
:/span>
readfileOptions.span class="token punctuation sc-docs-component" c-id="4.575.8.5">
的)/span>
=>/span>
承诺/span>
/span>
readfileresult.span class="token operator sc-docs-component" c-id="4.586.8.12">
>/span>
帕纳/th>
类型/th>
选项/code>
readfileOptions./a>
承诺
readfileresult./a>
>/code>
writefile(...)/h3>
writefile./span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.648.8.3">
:/span>
writefileOptions.span class="token punctuation sc-docs-component" c-id="4.651.8.5">
的)/span>
=>/span>
承诺/span>
/span>
WriteFileresult.span class="token operator sc-docs-component" c-id="4.662.8.12">
>/span>
帕纳/th>
类型/th>
选项/code>
writefileOptions./a>
承诺
WriteFileresult./a>
>/code>
Appendfile(...)/h3>
阑尾/span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.724.8.3">
:/span>
AppendfileOptions.span class="token punctuation sc-docs-component" c-id="4.727.8.5">
的)/span>
=>/span>
承诺/span>
/span>
空白/span>
>/span>
帕纳/th>
类型/th>
选项/code>
AppendfileOptions./a>
删除文件(…)/h3>
删除文件/span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.791.8.3">
:/span>
deletefileOptions.span class="token punctuation sc-docs-component" c-id="4.794.8.5">
的)/span>
=>/span>
承诺/span>
/span>
空白/span>
>/span>
帕纳/th>
类型/th>
选项/code>
deletefileOptions./a>
mkdir(...)/h3>
MKDIR./span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.858.8.3">
:/span>
mkdiroptions.span class="token punctuation sc-docs-component" c-id="4.861.8.5">
的)/span>
=>/span>
承诺/span>
/span>
空白/span>
>/span>
帕纳/th>
类型/th>
选项/code>
mkdiroptions./a>
rmdir(...)/h3>
rmdir./span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.925.8.3">
:/span>
rmdiroptions.span class="token punctuation sc-docs-component" c-id="4.928.8.5">
的)/span>
=>/span>
承诺/span>
/span>
空白/span>
>/span>
帕纳/th>
类型/th>
选项/code>
rmdiroptions./a>
readdir(...)/h3>
readdir./span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.992.8.3">
:/span>
ReadDiroOptions.span class="token punctuation sc-docs-component" c-id="4.995.8.5">
的)/span>
=>/span>
承诺/span>
/span>
ReadDirresult.span class="token operator sc-docs-component" c-id="4.1006.8.12">
>/span>
帕纳/th>
类型/th>
选项/code>
ReadDiroOptions./a>
承诺
ReadDirresult./a>
>/code>
Geturi(...)/h3>
Geturi./span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.1068.8.3">
:/span>
GeturieOptions.span class="token punctuation sc-docs-component" c-id="4.1071.8.5">
的)/span>
=>/span>
承诺/span>
/span>
Geturarsult.span class="token operator sc-docs-component" c-id="4.1082.8.12">
>/span>
帕纳/th>
类型/th>
选项/code>
GeturieOptions./a>
承诺
Geturarsult./a>
>/code>
统计(...)/h3>
统计/span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.1144.8.3">
:/span>
atteOptions.span class="token punctuation sc-docs-component" c-id="4.1147.8.5">
的)/span>
=>/span>
承诺/span>
/span>
STATREST.span class="token operator sc-docs-component" c-id="4.1158.8.12">
>/span>
帕纳/th>
类型/th>
选项/code>
atteOptions./a>
承诺
STATREST./a>
>/code>
改名(…)/h3>
改名/span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.1220.8.3">
:/span>
重新任选span class="token punctuation sc-docs-component" c-id="4.1223.8.5">
的)/span>
=>/span>
承诺/span>
/span>
空白/span>
>/span>
帕纳/th>
类型/th>
选项/code>
CopyOptions./a>
复制(…)/h3>
复制/span>
(/span>
选项span class="token operator sc-docs-component" c-id="4.1287.8.3">
:/span>
CopyOptions.span class="token punctuation sc-docs-component" c-id="4.1290.8.5">
的)/span>
=>/span>
承诺/span>
/span>
空白/span>
>/span>
帕纳/th>
类型/th>
选项/code>
CopyOptions./a>
校验域()/h3>
审计所/span>
(/span>
的)/span>
=>/span>
承诺/span>
/span>
permissionStatus.span class="token operator sc-docs-component" c-id="4.1364.8.9">
>/span>
directory.documents./code>
要么code class="sc-docs-component" c-id="4.1373.7.3">
directory.externalstorage./code>
。/p>
承诺
permissionStatus./a>
>/code>
RequestPermissions()/h3>
索赔/span>
(/span>
的)/span>
=>/span>
承诺/span>
/span>
permissionStatus.span class="token operator sc-docs-component" c-id="4.1414.8.9">
>/span>
directory.documents./code>
要么code class="sc-docs-component" c-id="4.1423.7.3">
directory.externalstorage./code>
。/p>
承诺
permissionStatus./a>
>/code>
界面/h3>
readfileresult./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
数据/code>
细绳/code>
文件中包含的数据的字符串表示/td>
1.0.0./td>
readfileOptions./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
小路/code>
细绳/code>
要读取的文件的路径/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.1546.10.1">
目录/code>
读取文件/td>
1.0.0./td>
编码/code>
编码/a>
编码要读取文件,如果未提供,则数据被读取为二进制文件并返回为Base64编码。经过a href="//www.jesscamp.com/capacitor/docs/apis/#encoding" class="sc-docs-component" c-id="4.1569.10.1">
encoding.utf8./a>
将数据读为字符串/td>
1.0.0./td>
WriteFileresult./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
Uri./code>
细绳/code>
写入文件的URI/td>
1.0.0./td>
writefileOptions./h4>
支柱/th>
类型/th>
描述/th>
默认/th>
自从/th>
小路/code>
细绳/code>
写入文件的路径/td>
1.0.0./td>
数据/code>
细绳/code>
要写的数据/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.1702.10.1">
目录/code>
存储文件/td>
1.0.0./td>
编码/code>
编码/a>
编码要写入文件。如果没有提供,则数据被写为base64编码。经过a href="//www.jesscamp.com/capacitor/docs/apis/#encoding" class="sc-docs-component" c-id="4.1727.10.1">
encoding.utf8./a>
将数据写为字符串/td>
1.0.0./td>
递归/code>
布尔/code>
是否创建任何缺少的父目录。/td>
错误的/code>
1.0.0./td>
AppendfileOptions./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
小路/code>
细绳/code>
要附加文件的路径/td>
1.0.0./td>
数据/code>
细绳/code>
要写的数据/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.1834.10.1">
目录/code>
存储文件/td>
1.0.0./td>
编码/code>
编码/a>
编码要写入文件。如果没有提供,则数据被写为base64编码。经过a href="//www.jesscamp.com/capacitor/docs/apis/#encoding" class="sc-docs-component" c-id="4.1857.10.1">
encoding.utf8./a>
将数据写为字符串/td>
1.0.0./td>
deletefileOptions./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
小路/code>
细绳/code>
要删除的文件的路径/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.1922.10.1">
目录/code>
删除文件/td>
1.0.0./td>
mkdiroptions./h4>
支柱/th>
类型/th>
描述/th>
默认/th>
自从/th>
小路/code>
细绳/code>
新目录的路径/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.1993.10.1">
目录/code>
制作新目录/td>
1.0.0./td>
递归/code>
布尔/code>
是否也创建任何缺少的父目录。/td>
错误的/code>
1.0.0./td>
rmdiroptions./h4>
支柱/th>
类型/th>
描述/th>
默认/th>
自从/th>
小路/code>
细绳/code>
要删除的目录的路径/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.2088.10.1">
目录/code>
从中删除目录/td>
1.0.0./td>
递归/code>
布尔/code>
是否递归地删除目录的内容/td>
错误的/code>
1.0.0./td>
ReadDirresult./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
文件/code>
细绳[]/code>
目录中的文件和目录列表/td>
1.0.0./td>
ReadDiroOptions./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
小路/code>
细绳/code>
读取目录的路径/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.2221.10.1">
目录/code>
列出文件/td>
1.0.0./td>
Geturarsult./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
Uri./code>
细绳/code>
文件的URI/td>
1.0.0./td>
GeturieOptions./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
小路/code>
细绳/code>
获取URI的文件的路径/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.2330.10.1">
目录/code>
获取文件/td>
1.0.0./td>
STATREST./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
类型/code>
细绳/code>
文件类型/td>
1.0.0./td>
尺寸/code>
数字/code>
文件大小/td>
1.0.0./td>
立方/code>
数字/code>
创造时间以毫秒为单位。它不适用于Android 7和旧设备。/td>
1.0.0./td>
立方/code>
数字/code>
最后修改的时间以毫秒为单位。/td>
1.0.0./td>
Uri./code>
细绳/code>
文件的URI/td>
1.0.0./td>
atteOptions./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
小路/code>
细绳/code>
获取数据的文件的路径/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.2511.10.1">
目录/code>
获取文件/td>
1.0.0./td>
CopyOptions./h4>
支柱/th>
类型/th>
描述/th>
自从/th>
从/code>
细绳/code>
现有文件或目录/td>
1.0.0./td>
到/code>
细绳/code>
目标文件或目录/td>
1.0.0./td>
目录/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.2595.10.1">
目录/code>
包含现有文件或目录/td>
1.0.0./td>
令人愤怒/code>
目录/a>
这a href="//www.jesscamp.com/capacitor/docs/apis/#directory" class="sc-docs-component" c-id="4.2618.10.1">
目录/code>
包含目标文件或目录。如果没有提供将使用“目录”参数作为目标/td>
1.0.0./td>
permissionStatus./h4>
支柱/th>
类型/th>
猎灵/code>
允许/a>
别名/h3>
重新任选/h4>
允许/h4>
'提示'|'及时 - 理由'|'授予'|'否认'/code>
枚举/h3>
目录/h4>
成员/th>
价值/th>
描述/th>
自从/th>
文件/code>
'文件'/code>
iOS上的文档目录是应用程序的文档目录。使用此目录存储用户生成的内容。在Android上它是公共文档文件夹,因此它可以从其他应用程序访问。除非应用程序通过添加,否则它不可访问于Android 10code class="sc-docs-component" c-id="4.2718.10.1">
Android:RequestLegacyExternalStorage =“True”/code>
在里面code class="sc-docs-component" c-id="4.2721.10.3">
应用/code>
标记在code class="sc-docs-component" c-id="4.2724.10.5">
androidmanifest.xml./code>
。它在Android 11或更新时不可访问。/td>
1.0.0./td>
数据/code>
'数据'/code>
iOS上的数据目录将使用Documents目录。在Android上它是控股应用程序文件的目录。卸载应用程序时将删除文件。/td>
1.0.0./td>
图书馆/code>
'图书馆'/code>
iOS上的库目录将使用库目录。在Android上它是控股应用程序文件的目录。卸载应用程序时将删除文件。/td>
1.1.0/td>
缓存/code>
'缓存'/code>
可以在低内存的情况下删除缓存目录,因此请使用此目录编写应用程序可以轻松地重新创建的应用程序特定文件。/td>
1.0.0./td>
外部的/code>
'外部的'/code>
iOS上的外部目录将在Android上使用文档目录它是主共享/外部存储设备上的目录,其中应用程序可以将其拥有的持久文件放置。这些文件是应用程序内部的,而不是用户作为媒体可见。卸载应用程序时将删除文件。/td>
1.0.0./td>
外部存储/code>
'外部存储'/code>
iOS上的外部存储目录将在Android上使用文档目录它是主共享/外部存储目录。除非应用程序通过添加,否则它不可访问于Android 10code class="sc-docs-component" c-id="4.2817.10.1">
Android:RequestLegacyExternalStorage =“True”/code>
在里面code class="sc-docs-component" c-id="4.2820.10.3">
应用/code>
标记在code class="sc-docs-component" c-id="4.2823.10.5">
androidmanifest.xml./code>
。它在Android 11或更新时不可访问。/td>
1.0.0./td>
编码/h4>
成员/th>
价值/th>
描述/th>
自从/th>
UTF8./code>
'utf8'/code>
八位UCS转换格式/td>
1.0.0./td>
ASCII./code>
'ascii'/code>
七位ASCII,A.K.A. ISO646-US,A.K.A. unicode字符集的基本拉丁块仅支持Android。/td>
1.0.0./td>
UTF16./code>
'utf16'/code>
16位UCS转换格式,由可选的字节顺序标记标识的字节顺序此编码仅支持Android。/td>
1.0.0./td>