如何以流的形式读写文件

如何以流的形式读写文件

HarmonyOS
2024-08-01 09:49:21
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
小小肉蟹

需要注意使用流接口后,应该及时关闭流。流接口不支持并发读写。以下是一个代码示例。

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-08-01 18:31:23
相关问题
使用ArkTs请求如何以JSON形式传输
499浏览 • 1回复 待解决
http请求如何以JSON形式进行传输
1887浏览 • 1回复 待解决
http请求如何以表单形式进行传输
2433浏览 • 1回复 待解决
ArkTS中HTTP请求如何以JSON形式进行传输
2575浏览 • 1回复 待解决
HarmonyOS 文件读写权限如何获得?
187浏览 • 1回复 待解决
如何读写各种途径创建文件
613浏览 • 1回复 待解决
harmonyos怎么读写文件
11044浏览 • 1回复 已解决
HarmonyOS文件读写相关问题
355浏览 • 1回复 待解决
HarmonyOS文件读写权限问题
231浏览 • 1回复 待解决
程序怎么读写设备上文件啊?
3938浏览 • 1回复 待解决
如何对一个文件进行读写操作
303浏览 • 1回复 待解决
读取文件方式,有人知道吗?
1690浏览 • 1回复 待解决
HarmonyOS 应用文件分享-读写权限咨询
233浏览 • 1回复 待解决
HarmonyOS应用内配置文件读写问题
230浏览 • 1回复 待解决