HarmonyOS 鸿蒙Next如何获取本地文件的文件大小

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何获取本地文件的文件大小 怎么获取到本地图片或者文件的大小

4 回复

楼主您好,可以参考有关api:

[@ohos.file.fs (文件管理)-ArkTS API-Core File Kit(文件基础服务)-应用框架 - 华为HarmonyOS开发者 (huawei.com)](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5#fsstat)

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


楼主您好:

```typescript
fs.stat(filePath).then((stat: fs.Stat) => {
    console.info("get file info succeed, the size of file is " + stat.size);
}).catch((err: BusinessError) => {
    console.error("get file info failed with error message: " + err.message + ", error code: " + err.code);
});

修改下路径即可

非沙箱文件怎么获取大小?用这个方法会报错文件不存在,

在HarmonyOS(鸿蒙)系统中,获取本地文件的文件大小通常可以通过文件操作API来实现。以下是一个简要的步骤和示例代码,用于说明如何在HarmonyOS中获取文件大小:

  1. 使用文件描述符:

    你可以通过打开文件获取文件描述符,然后使用lseekfstat系统调用来获取文件大小。

  2. 示例代码:

    #include <fcntl.h>
    #include <unistd.h>
    #include <sys/stat.h>
    #include <stdio.h>
    
    long getFileSize(const char *filePath) {
        int fd = open(filePath, O_RDONLY);
        if (fd < 0) {
            perror("open");
            return -1;
        }
    
        struct stat sb;
        if (fstat(fd, &sb) < 0) {
            perror("fstat");
            close(fd);
            return -1;
        }
    
        close(fd);
        return sb.st_size;
    }
    
    int main() {
        const char *filePath = "/path/to/your/file";
        long size = getFileSize(filePath);
        if (size != -1) {
            printf("File size: %ld bytes\n", size);
        }
        return 0;
    }
    

    上述代码打开指定路径的文件,使用fstat获取文件状态,并从中提取文件大小。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部