如何读取一个文件的内容到另一个文件中

如何读取一个文件的内容到另一个文件中


HarmonyOS
2024-08-01 09:46:22
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
makeer

需要注意一点,使用读写接口时,需注意可选项参数offset的设置。对于已存在且读写过的文件,文件偏移指针默认在上次读写操作的终止位置。

// pages/xxx.ets
import { fileIo as fs, ReadOptions, WriteOptions } from '@kit.CoreFileKit';
import { common } from '@kit.AbilityKit';

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

function readWriteFile(): void {
打开文件
  let srcFile = fs.openSync(filesDir + '/test.txt', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  let destFile = fs.openSync(filesDir + '/destFile.txt', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
读取源文件内容并写入至目的文件
  let bufSize = 4096;
  let readSize = 0;
  let buf = new ArrayBuffer(bufSize);
  let readOptions: ReadOptions = {
    offset: readSize,
    length: bufSize
  };
  let readLen = fs.readSync(srcFile.fd, buf, readOptions);
  while (readLen > 0) {
    readSize += readLen;
    let writeOptions: WriteOptions = {
      length: readLen
    };
    fs.writeSync(destFile.fd, buf, writeOptions);
    readOptions.offset = readSize;
    readLen = fs.readSync(srcFile.fd, buf, readOptions);
  }
关闭文件
  fs.closeSync(srcFile);
  fs.closeSync(destFile);
}
分享
微博
QQ
微信
回复
2024-08-01 18:29:25
相关问题
HAR能读到另一个HAR里rawfile文件
1716浏览 • 1回复 待解决
entry如何拉起另一个ModuleAbility
4048浏览 • 1回复 待解决
如何一个文件进行读写操作
359浏览 • 1回复 待解决