HarmonyOS鸿蒙Next中如何获取应用中files文件夹

HarmonyOS鸿蒙Next中如何获取应用中files文件夹

通过context.filesDir获取的路径为啥是haps下的files文件夹而不是与haps平级的files文件夹,如果想获取与haps平级的files文件夹,应该怎么实现


更多关于HarmonyOS鸿蒙Next中如何获取应用中files文件夹的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
/data/storage/el2/base/files

这个就是haps同级的files目录,直接字符串使用就行,示例代码:

```javascript
function createFile(): void {
  // 文件不存在时创建并打开文件,文件存在时打开文件
  let file = fs.openSync('/data/storage/el2/base/files' + '/test.txt', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  // 写入一段内容至文件
  let writeLen = fs.writeSync(file.fd, "Try to write str.");
  console.info("The length of str is: " + writeLen);
  // 创建一个大小为1024字节的ArrayBuffer对象,用于存储从文件中读取的数据
  let arrayBuffer = new ArrayBuffer(1024);
  // 设置读取的偏移量和长度
  let readOptions: ReadOptions = {
    offset: 0,
    length: arrayBuffer.byteLength
  };
  // 读取文件内容到ArrayBuffer对象中,并返回实际读取的字节数
  let readLen = fs.readSync(file.fd, arrayBuffer, readOptions);
  // 将ArrayBuffer对象转换为Buffer对象,并转换为字符串输出
  let buf = buffer.from(arrayBuffer, 0, readLen);
  console.info("the content of file: " + buf.toString());
  // 关闭文件
  fs.closeSync(file);
}

更多关于HarmonyOS鸿蒙Next中如何获取应用中files文件夹的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,获取应用中files文件夹的路径可以通过Context对象实现。Context提供了getFilesDir()方法,该方法返回应用内部存储中files目录的绝对路径。具体代码如下:

import featureAbility from '@ohos.ability.featureAbility';

let context = featureAbility.getContext();
let filesDir = context.getFilesDir();
console.log(filesDir);

getFilesDir()返回的路径通常是/data/data/<package_name>/files,其中<package_name>是应用的包名。该目录用于存储应用的私有文件,其他应用无法直接访问。

在HarmonyOS鸿蒙Next中,获取应用中的files文件夹可以通过Context类提供的getFilesDir()方法。该方法返回一个File对象,指向应用私有存储中的files目录。示例代码如下:

File filesDir = getContext().getFilesDir();
String filesPath = filesDir.getAbsolutePath();

filesDir即为files文件夹的路径,通常位于/data/data/<package_name>/files

回到顶部