# FileSystemManager.writeFile(Object object)
异步写入文件内容(覆盖模式,若文件已存在则覆盖)。
# 支持情况
| 项 | 说明 |
|---|---|
| 兼容性 | 兼容微信 |
# 语法
const fs = mt.getFileSystemManager()
fs.writeFile({ filePath, data, encoding, success, fail, complete })
# 参数
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| filePath | string | — | 是 | 要写入的文件路径 |
| data | string | ArrayBuffer | — | 是 | 要写入的内容 |
| encoding | string | 'utf8' | 否 | 指定写入文件的字符编码,当 data 为 string 时有效 |
| success | function | — | 否 | 成功回调 |
| fail | function | — | 否 | 失败回调 |
| complete | function | — | 否 | 完成回调(成功或失败均触发) |
encoding 合法值
| 值 | 说明 |
|---|---|
ascii | |
base64 | 注意:data 只需传 base64 内容本身,不要包含 Data URI 前缀,如 data:image/png;base64,,否则会报错 |
binary | |
hex | |
ucs2 / ucs-2 / utf16le / utf-16le | |
utf8 / utf-8 | |
latin1 |
# 返回值
无返回值。
# 注意事项
- 对同一文件并发写入时,后续写入操作会自动排队,等前一次写入完成后再执行,不会互相覆盖。
# 示例代码
const fs = mt.getFileSystemManager()
fs.writeFile({
filePath: `${mt.env.USER_DATA_PATH}/config.json`,
data: JSON.stringify({ level: 5 }),
encoding: 'utf8',
success() {
console.log('写入成功')
},
fail(err) {
console.error(err.errMsg)
}
})
# 与微信差异
无差异(行为与微信小游戏一致)。