fs.writeSync写文件时如何在文件末尾追加内容
===========================

#### 问题现象

如何使用fs.writeSync实现在文件末尾追加内容？

#### 效果预览

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/dc/v3/UVCI9lAnQt-YWATfJpjhKQ/zh-cn_image_0000002629059024.gif?HW-CC-KV=V1&HW-CC-Date=20260709T134130Z&HW-CC-Expire=86400&HW-CC-Sign=88F67C4CBF74D5028724E85491D214846F5FF0F928AF73D34BA7B878CDB0CE6D "点击放大")

#### 解决方案

[fs.writeSync](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-file-fs#fswritesync)写文件时需要先使用[fs.openSync](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-file-fs#fsopensync)打开文件，打开文件时可设置模式为“OpenMode.APPEND”，以追加方式打开。

import { systemDateTime } from '@kit.BasicServicesKit';
import { fileIo as fs } from '@kit.CoreFileKit';

@Entry
@Component
struct Index {
  @State message: string \= '';

  build() {
    Column({ space: 30 }) {
      Text(\`当前test.txt为文件的内容是：${this.message}\`) _//_ _展示文件内容_
        .fontSize(30)
      Button('追加文本')
        .onClick(() \=\> {
          let context \= this.getUIContext().getHostContext() as Context;
          let filePath \= context.cacheDir \+ '/test.txt'; _//_ _获取文件路径_
          let file \=
            fs.openSync(filePath, fs.OpenMode.READ\_WRITE | fs.OpenMode.APPEND | fs.OpenMode.CREATE); _// 设置以追加方式打开文件_
          let str \= systemDateTime.getTime().toString() \+ ','; _//_ _获取当前时间作为写入文件的内容_
          let writeLen \= fs.writeSync(file.fd, str); _// 向文件内写入内容，返回值为写入内容的长度_
          console.log(\`writeLen：${writeLen}\`);
          fs.closeSync(file); _// 关闭文件_
          this.message \= fs.readTextSync(filePath); _// 读取文件内容_
        })
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}