HarmonyOS 鸿蒙Next 获取文件大小

发布于 1周前 作者 wuwangju 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 获取文件大小

1、通过https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/photoaccesshelper-photoviewpicker-V5#指定uri获取图片或视频资源

这个例子,
我想实现判断文件格式以及文件大小的功能,(超过4M就压缩),但是通过下面代码无法获取真正的文件大小,请问要怎么解决

/**

  • 获取指定文件夹下所有文件的大小或指定文件大小。
  • @param path 文件夹路径 或 文件路径 */ static getFileDirSize(path: string): number { if (FileUtil.accessSync(path)) { //path存在 if (FileUtil.isDirectory(path)) { //文件夹 let count: number = 0; FileUtil.listFileSync(path, { recursion: true }).forEach((filePath) => { count = count + FileUtil.lstatSync(path + filePath).size }) return count; } else { //文件 return FileUtil.lstatSync(path).size } } return 0; }


 


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

2 回复
文件格式可以通过以下方法进行判断:

isBlockDevice方法判断文件是否是块特殊文件 。

isCharacterDevice方法判断文件是否是字符特殊文件。

isDirectory方法判断文件是否是目录。

使用listFile接口获取文件列表时,可以通过Filter配置项中的fileSizeOver参数来匹配文件大小。fileSizeOver参数可以设置为大于等于某个指定大小,以匹配大文件。

API参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5#filter10

数据压缩及上传可以参考:https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-file-upload-and-download-performance-V5#section6312574242

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


在HarmonyOS(鸿蒙)系统中,获取文件大小通常可以通过文件描述符或文件路径进行操作。以下是使用文件路径直接获取文件大小的方法,基于鸿蒙系统提供的API。

你可以使用FileUtils类中的getFileSize方法。这个方法接收一个文件路径作为参数,并返回文件的大小(以字节为单位)。示例代码如下:

// 注意:这里使用的是鸿蒙特定的API,并非Java标准库
import ohos.aafwk.ability.Ability;
import ohos.utils.FileUtils;

public class FileSizeExample extends Ability {
    public void getFileSizeExample(String filePath) {
        long fileSize = FileUtils.getFileSize(filePath);
        if (fileSize == -1) {
            // 处理文件不存在或读取失败的情况
        } else {
            // 成功获取文件大小
            System.out.println("File size: " + fileSize + " bytes");
        }
    }
}

在上述代码中,FileUtils.getFileSize(filePath)会返回指定路径文件的大小。如果文件不存在或读取失败,会返回-1。

请确保在调用此方法前,文件路径是有效的,并且应用具有访问该文件的权限。

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

回到顶部