美文网首页
根据路径获取文件的大小

根据路径获取文件的大小

作者: 墨凌风起 | 来源:发表于2019-05-08 10:04 被阅读0次
//单个文件的大小
-(long long) fileSizeAtPath:(NSString*) filePath{
    struct stat st;
    if(lstat([filePath cStringUsingEncoding:NSUTF8StringEncoding], &st) == 0){
        return st.st_size;
    }
    return 0;
}

// 获取某文件夹下所有文件的大小
- (long long)getFolderSize:(NSString *)folderPath
{
    // 找到folderPath路径下的所有文件夹
    NSArray *folderArr = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:folderPath error:nil];
    // 遍历文件夹
    NSEnumerator *filesEnumber = [folderArr objectEnumerator];
    NSString *fileName = nil;
    long long fileSize = 0;
    while (fileName = [filesEnumber nextObject]) {
        NSDictionary *fileDic = [[NSFileManager defaultManager] attributesOfItemAtPath:[folderPath stringByAppendingPathComponent:fileName] error:nil];
        fileSize += [fileDic fileSize];
    }

    return fileSize;
}

swift

//单个文件
func getFileSizeAtPath(filePath:String) ->Float{
        let manager = FileManager.default
        var fileSize:Float = 0.0
        if manager.fileExists(atPath: filePath) {
            do{
                let attr = try manager.attributesOfItem(atPath: filePath)
                fileSize = attr[FileAttributeKey.size] as! Float
            }catch{
            }
        }
        return fileSize
    }

//文件夹
func getFolderSizeAtPath(folderPath:String!) ->Float{

        let manager = FileManager.default
        var fileSize:Float = 0.0
        if manager.fileExists(atPath: folderPath) {
            do{
                let fileArr = try manager.contentsOfDirectory(atPath: folderPath)
                for i in 0..<fileArr.count{
                    let path = fileArr[i]
                    fileSize = fileSize + getFileSizeAtPath(filePath: path)
                }
            }catch{

            }
        }
        return fileSize
    }

相关文章

  • 根据路径获取文件的大小

    swift

  • iOS开发 _计算缓存大小/清理

    1.获取路径: 2.计算目录大小 3.根据路径删除文件 4.清除缓存按钮的点击事件

  • iOS开发中清理缓存

    根据文件路径计算文件大小

  • IOS常用方法

    1.获取磁盘总空间大小 2.获取磁盘可用空间大小 3.获取指定路径下某个文件的大小 4.获取文件夹下所有文件的大小...

  • 计算文件夹/文件的总大小

    根据上一篇计算文件夹大小文章进一步扩展,封装一个自动根据路径获取该文件或文件夹的大小的NSString分类 封装了...

  • IOS一些常用方法

    1.** 获取磁盘总空间大小** 2. 获取磁盘可用空间大小 3. 获取指定路径下某个文件的大小 4. 获取文件夹...

  • iOS 常用公共方法

    1. 获取磁盘总空间大小 2. 获取磁盘可用空间大小 3. 获取指定路径下某个文件的大小 4. 获取文件夹下所有文...

  • iOS常用公共方法

    1. 获取磁盘总空间大小 2. 获取磁盘可用空间大小 3. 获取指定路径下某个文件的大小 4. 获取文件夹下所有文...

  • iOS常用公共方法

    1. 获取磁盘总空间大小 2. 获取磁盘可用空间大小 3. 获取指定路径下某个文件的大小 4. 获取文件夹下所有文...

  • 转载-iOS 常用公共方法,看着很好,收藏下。

    1. 获取磁盘总空间大小 2. 获取磁盘可用空间大小 3. 获取指定路径下某个文件的大小 4. 获取文件夹下所有文...

网友评论

      本文标题:根据路径获取文件的大小

      本文链接:https://www.haomeiwen.com/subject/adwpoqtx.html