HarmonyOS 鸿蒙Next fs.write()报错Illegal write buffer or encoding
HarmonyOS 鸿蒙Next fs.write()报错Illegal write buffer or encoding
C04388/file_api com.example E [common_func.cpp:435->GetWriteArg] Illegal write buffer or encoding,错误码是
13900020 - Invalid argument
用的是模拟器,版本是
deveco版本是
Build Version: 5.0.3.403, built on June 20, 2024
Runtime version: 17.0.10+1-b1087.17 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
楼主您好,看下如下链接中的从一个文件读写内容到另一个文件说明。
应用文件访问(ArkTS)-应用文件访问与管理-应用文件-Core File Kit(文件基础服务)-应用框架 | 华为开发者联盟 (huawei.com)
// 新建并打开文件 let file = fs.openSync(filesDir + ‘/test.txt’, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); // 写入一段内容至文件 let writeLen = fs.writeSync(file.fd, “Try to write str.”);
是按照这样的形式写的,如果写入的是string,是可以的,但把写入的数据(即"Try to write str."部分)改成uint8Array,便会报错E [common_func.cpp:435->GetWriteArg] Illegal write buffer or encoding
在HarmonyOS(鸿蒙)开发中,遇到fs.write()
报错“Illegal write buffer or encoding”通常是因为传递给fs.write()
的缓冲区或编码格式不正确。请确保:
- 传递给
fs.write()
的缓冲区是有效的,如使用ArrayBuffer
、TypedArray
或DataView
等。 - 如果指定了编码,确保它是系统支持的编码格式,如’utf8’、'ascii’等。
- 检查缓冲区是否已被正确初始化且未超出其界限。
如果问题依旧没法解决请加我微信,我的微信是itying888。