#鸿蒙通关秘籍#如何在鸿蒙中使用流的形式进行文件的读写操作?

HarmonyOS
2024-12-16 13:28:01
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
墨海涛OS

在鸿蒙中以流的形式进行文件的读写操作,可以参考如下方法:

typescript import { fileIo as fs, ReadOptions } from '@kit.CoreFileKit'; import { common } from '@kit.AbilityKit';

// 获取应用文件路径 let context = getContext(this) as common.UIAbilityContext; let filesDir = context.filesDir;

async function readWriteFileWithStream(): Promise<void> { // 打开文件流 let inputStream = fs.createStreamSync(filesDir + '/test.txt', 'r+'); let outputStream = fs.createStreamSync(filesDir + '/destFile.txt', "w+"); // 以流的形式读取源文件内容并写入目的文件 let bufSize = 4096; let readSize = 0; let buf = new ArrayBuffer(bufSize); let readOptions: ReadOptions = { offset: readSize, length: bufSize }; let readLen = await inputStream.read(buf, readOptions); readSize += readLen; while (readLen > 0) { const writeBuf = readLen < bufSize ? buf.slice(0, readLen) : buf; await outputStream.write(writeBuf); readOptions.offset = readSize; readLen = await inputStream.read(buf, readOptions); readSize += readLen; } // 关闭文件流 inputStream.closeSync(); outputStream.closeSync(); }

按照上述代码描述,可以通过流接口读取文件的内容,并以输出流写入到新的文件中。在操作结束后,务必关闭文件流。

分享
微博
QQ
微信
回复
2024-12-16 15:15:15


相关问题
如何形式读写文件
1598浏览 • 1回复 待解决