鸿蒙Next中txt格式文件如何操作

在鸿蒙Next系统中,如何对txt格式文件进行读写、编辑和保存操作?有没有推荐的API或工具可以使用?具体实现步骤是什么?

2 回复

在鸿蒙Next里操作txt文件,就像逗猫一样简单!用File类读写,writeText()秒存,readText()秒读。记得加权限,不然系统会像防贼一样盯着你。代码一敲,文件到手,轻松搞定!

更多关于鸿蒙Next中txt格式文件如何操作的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next(HarmonyOS NEXT)中,操作TXT文件主要通过文件管理API实现。以下是常见操作的示例代码,使用ArkTS语言(基于TypeScript):

1. 写入TXT文件

import fs from '@ohos.file.fs';

async function writeTxtFile() {
  let filePath = "xxx/test.txt"; // 文件路径,需替换为实际路径
  let content = "Hello, HarmonyOS!"; // 写入内容
  
  try {
    let file = await fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
    await fs.write(file.fd, content); // 写入内容
    await fs.close(file.fd); // 关闭文件
    console.log("文件写入成功");
  } catch (err) {
    console.error("写入失败: " + JSON.stringify(err));
  }
}

2. 读取TXT文件

import fs from '@ohos.file.fs';

async function readTxtFile() {
  let filePath = "xxx/test.txt"; // 文件路径
  
  try {
    let file = await fs.open(filePath, fs.OpenMode.READ_ONLY);
    let stat = await fs.stat(filePath); // 获取文件信息
    let buffer = new ArrayBuffer(stat.size); // 创建缓冲区
    await fs.read(file.fd, buffer); // 读取内容到缓冲区
    await fs.close(file.fd);
    
    let text = String.fromCharCode.apply(null, new Uint8Array(buffer)); // 转为字符串
    console.log("文件内容: " + text);
  } catch (err) {
    console.error("读取失败: " + JSON.stringify(err));
  }
}

3. 追加内容到TXT文件

import fs from '@ohos.file.fs';

async function appendTxtFile() {
  let filePath = "xxx/test.txt";
  let content = "\n追加的内容";
  
  try {
    let file = await fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.APPEND);
    await fs.write(file.fd, content);
    await fs.close(file.fd);
    console.log("追加成功");
  } catch (err) {
    console.error("追加失败: " + JSON.stringify(err));
  }
}

4. 删除TXT文件

import fs from '@ohos.file.fs';

async function deleteTxtFile() {
  let filePath = "xxx/test.txt";
  
  try {
    await fs.unlink(filePath); // 删除文件
    console.log("文件删除成功");
  } catch (err) {
    console.error("删除失败: " + JSON.stringify(err));
  }
}

关键说明:

  1. 权限配置:在module.json5中声明文件存储权限:

    "requestPermissions": [
      {
        "name": "ohos.permission.READ_MEDIA",
        "reason": "$string:reason"
      },
      {
        "name": "ohos.permission.WRITE_MEDIA",
        "reason": "$string:reason"
      }
    ]
    
  2. 路径说明

    • 应用沙箱路径:context.filesDir
    • 公共目录需申请存储权限
  3. 异常处理:所有文件操作建议用try-catch包裹,确保稳定性。

这些操作覆盖了TXT文件的基本读写、追加和删除需求。实际使用时注意路径有效性及权限管理。

回到顶部