ios 计算文件夹大小 列举目录/文件

27、探索 iOS 开发中的临时文件管理:NSTemporaryDirectory 本文深入探讨了 iOS 和 macOS 开发中的 `NSTemporaryDirectory` 函数,详细介绍了临时文件夹的用途、获取路径的方法以及其生命周期管理。同时,文章还分享了临时文件管理的最佳实践与优化策略,包括文件大小限制、加密安全性、同步与备份等内容,并通过实际应用场景和常见问题解答帮助开发者更好地使用临时文件夹,提高应用程序性能和用户体验。 阅读详情
-(long)fileSizeForDir:(NSString*)path//计算文件夹下文件的总大小
{
    long size = 0;
    NSFileManager *fileManager = [[NSFileManager alloc] init];
    NSArray* array = [fileManager contentsOfDirectoryAtPath:path error:nil];
    for(int i = 0; i<[array count]; i++)
    {
        NSString *fullPath = [path stringByAppendingPathComponent:[array objectAtIndex:i]];
 
        BOOL isDir;
        if ( !([fileManager fileExistsAtPath:fullPath isDirectory:&isDir] && isDir) )
        {
            NSDictionary *fileAttributeDic = [fileManager attributesOfItemAtPath:fullPath error:nil];
            size += fileAttributeDic.fileSize;
        }
        else
        {
            [self fileSizeForDir:fullPath];
        }
    }
    [fileManager release];
    return size;
 
}
//单位:MB
- (NSString *)sizeCache{
    NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    long docSize = [self fileSizeForDir:docPath];
 
    NSArray*paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
    NSString*cachesDir = [paths objectAtIndex:0];
    NSString *ImageCachePath = [cachesDir stringByAppendingPathComponent:@"ImageCache"];
    NSLog(@"ImageCacheSize:%@",ImageCachePath);
    long ImageCacheSize = [self fileSizeForDir:ImageCachePath];
 
    long totalSize = docSize + ImageCacheSize;
    const unsigned int bytes = 1024*1024 ;   //字节数,如果想获取KB就1024,MB就1024*1024
    NSString *string = [NSString stringWithFormat:@"%.2f",(1.0 *totalSize/bytes)];
    NSLog(@"docSize:%ld,ImageCacheSize:%ld",docSize,ImageCacheSize);
    return string;
}


在开发iPhone程序时,有时候要对文件进行一些操作。而获取某一个目录中的所有文件列表,是基本操作之一。通过下面这段代码,就可以获取一个目录内的文件及文件夹列表。

NSFileManager *fileManager = [NSFileManager defaultManager];

//在这里获取应用程序Documents文件夹里的文件及文件夹列表

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentDir = [documentPaths objectAtIndex:0];

NSError *error = nil;

NSArray *fileList = [[NSArray alloc] init];

//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组

fileList = [fileManager contentsOfDirectoryAtPath:documentDir error:&error];

以下这段代码则可以列出给定一个文件夹里的所有子文件夹名

NSMutableArray *dirArray = [[NSMutableArray alloc] init];

BOOL isDir = NO;

//在上面那段程序中获得的fileList中列出文件夹名

for (NSString *file in fileList) {

NSString *path = [documentDir stringByAppendingPathComponent:file];

[fileManager fileExistsAtPath:path isDirectory:(&isDir)];

if (isDir) {

[dirArray addObject:file];

}

isDir = NO;

}

NSLog(@"Every Thing in the dir:%@",fileList);

NSLog(@"All folders:%@",dirArray);



IOS获取文件、目录所占空间大小 IOS获取文件、目录所占空间大小 可配合下文参照 http://blog.youkuaiyun.com/zhuzhihai1988/article/details/7776164 立即下载

相关推荐

ios 读取文件或文件夹大小的几种方法

用三种方法来读取文件和文件夹大小,很使用速度快

iOS中使用c函数快速获取一个目录所占的空间大小

在编写iOS应用时,我们都会大量把服务器的接口调用数据或者图片数据进行缓存,为了更好的使用体验,有时候我们也会把各种缓存的数据所占的空间大小告诉用户,提供给用户参考,并让用户可以手动清除缓存数据,就像我们在千寻影视中也就提供了这样一个设置项。但是当数据多了之后,就会发现所占空间的大小计算非常耗时,因为缓存下来的是大量的小文件,这就会造成界面很久没有反映的状况。为了解决这种情况,当然是可以通过多线程...

流星之所以坠落,只因曾拥有过的高度 270

IOS中计算缓存文件的大小判断实例详解

IOS中计算缓存文件的大小判断实例详解 IOS中计算缓存文件的大小判断,在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正。写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长。  实例代码: //获取缓存文件路径 -(NSString *)getCachesPath{ // 获取Caches目录路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES); NSString

iOS 获取磁盘,获取文件大小

1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes { CGFloat size = 0.0; NSError *error; NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error]; if (error) { #ifdef DEB...

yanPingWang_8的博客 2426

IOS获取缓存文件的大小并清除缓存文件的方法

移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage。 但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯、购物、阅读类app的标配功能。 今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取、清除缓存文件的实现。 1. 获取缓存文件的大小 -( float )readCacheSize { NSString *cachePath = [NSSearchPathForDirectoriesInDomains (NSCachesDirectory , NSUserDomainMask , YES) firstO

MuMu模拟器过检测实战:从硬件伪装到API欺骗的完整避坑指南

本文详细介绍了MuMu模拟器过检测的实战技术,从硬件伪装到API欺骗的全方位解决方案。通过修改CPU/GPU信息、内存分布、系统属性和行为模拟等关键技术,帮助用户有效绕过现代应用的模拟器检测机制,提升模拟器的隐蔽性和稳定性。

xxx12的博客 1384

iOS计算文件大小的几种常用方法示例

#pragma mark 获取目录大小 // 方法1:循环调用fileSizeAtPath1 + (long long)folderSizeAtPath1:(NSString *)folderPath { NSFileManager *manager = [NSFileManager defaultManager]; if (![manager fileExists...

weixin_30617737的博客 175

告别FreeRTOS?手把手带你用NuttX在STM32F4-Discovery上跑起第一个Shell

本文详细介绍了如何在STM32F4-Discovery开发板上从FreeRTOS迁移到NuttX,并运行第一个Shell。NuttX以其完整的POSIX兼容性和模块化架构优势,特别适合复杂网络应用的开发。通过环境搭建、移植配置、调试技巧及POSIX开发实践,帮助开发者高效构建嵌入式系统。

weixin_42526417的博客 299

<html>

iOS 计算目录中包括全部文件的大小 文件大小: 计算输出大小:  方法一:     classfunc fileSize(path:NSString!)-&gt;Float64{         let fileManager =NSFileManager()         var size:Float64 =0....

weixin_34007020的博客 156

树莓派5安装ROS1避坑指南:从系统配置到cmake报错全解决

本文详细介绍了在树莓派5上安装ROS1的完整流程,包括系统配置、环境变量设置、cmake报错解决等关键步骤。针对树莓派5的ARM架构特性,提供了从基础安装到高级调试的系统级解决方案,帮助开发者高效部署ROS1并避免常见编译陷阱。特别针对cmake报错问题,给出了深度解析和实用修复方法。

spark7igniter的博客 233

游戏脚本开发避坑:Python调用OP模块实现阴阳师后台操作的5个关键点

本文深入探讨了使用Python调用OP模块开发《阴阳师》后台自动化脚本的5个核心避坑点。重点解析了窗口绑定、后台截图与图像识别、鼠标键盘模拟、脚本稳定性以及性能优化等关键环节的常见问题与实战解决方案,帮助开发者高效实现稳定的游戏后台挂机功能。

u0v1w2x3的博客 588

iOS判断沙盒文件,计算文件总量,查看IOS沙盒中文件的属性(修改日期,创建日期,大小等)

通过以下代码可以读取到文件夹里面的文件#define kDocument_Folder [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] NSFileManager *fM = [NSFileManager defaultManager]; NSArray *fileList = [fM contentsOfD

goldWave的博客 865

电压抬升电路设计

一、实验目的 掌握集成运放电压放大电路设计基本方法。 掌握基本仪器使用方法(电源、信号发生器、示波器)。 二、实验内容及结果 实验内容 基于集成运放设计一传感器信号采集电路。传感器输出信号在±50mV,频率为100Hz以内,模数转换器允许输入电压在0~5V,要求设计传感器与模数转换器之间的信号采集电路,实现传感器信号放大10倍,并适合模数转换器的输入。模数转换器的输入电阻为1KHz,设计电路时,可使用1KHz电阻作为信号采集电路负载,代替模数转换器。 实验具体要求如下: (1)确定电路形式,说明电压转

Safaearth的博客 4万+

linux共享文件夹 redhat_JavaWeb - Linux

Linux 系统概述计算机的体系结构计算机由计算机硬件和计算机软件两个部分组成,其中计算机软件可分为系统软件和应用软件,系统软件就是操作系统,是其他软件的基础。Application -- OS Shell (KDE bash csh) -- OS Kernel -- Hardware​应用程序 / Java 应用 -- 操作系统外壳(GUI / 命令)-- 操作系统内核 -- 硬件目前主流的操作...

weixin_30974905的博客 145

MATLAB/Simulink实战:三电平逆变器SVPWM调制从入门到精通(附完整仿真模型)

本文提供了一份详尽的MATLAB/Simulink实战指南,手把手教你从零搭建三电平逆变器的SVPWM调制系统。文章深入剖析了27个空间矢量的分区与分解算法,并完整实现了包含中点电位平衡控制的Simulink仿真模型,旨在帮助电力电子与电机控制领域的学习者和工程师跨越从理论到实践的鸿沟。

sugar的博客 1211

OpenOCD入门到精通:第 4 章 配置文件体系详解

本文深入解析OpenOCD配置文件的体系结构和工作机制。首先介绍了配置文件的搜索路径优先级和加载顺序,以及配置阶段与运行阶段的区别。然后详细分析了interface配置文件的适配器参数调优方法,包括ST-Link、CMSIS-DAP和FTDI等常见调试器的配置示例。最后重点讲解了target配置文件的核心结构,包括TAP声明、目标创建和工作区设置等关键步骤,并以stm32f1x为例展示了完整的配置流程。通过本文可以全面了解OpenOCD配置文件的分层设计理念和参数化配置方法。

从事嵌入式linux android驱动开发,拥有全栈能力 594

iOS - 清理缓存

// 显示缓存大小 func fileSizeOfCache()-> Int { // 1. 取出cache文件夹目录 缓存文件都在这个目录下 let cachePath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPat

hpuhjl的专栏 3160

YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集

YOLOv5入门实践第2步,手把手教你使用labelimg标注数据集

路人贾的博客 1万+

Linux-Level1-day01:计算机简介;linux目录文件;linux常用命令

cp -fr 源文件 新文件 cp -fr 源目录 新目录 分3种:例如cp hello.txt hello/ 1.hello是一个目录并且存在,就是将hello.txt拷贝一份到hello目录下 2.hello是一个目录并且不存在,命令cp报错 3.hello是你想象的,你认为的目录但是不存在,并且命令形式:cp hello.txt hello 就是一个文件的拷贝 切记:只要是目录操作,建议最后一定加分隔符'/',来区分是目录还是文件 建议每次输入命令,用TAB键来补全,也会顺便给你添加'/'

dpq666dpq666 175

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

计算机的软件相关内容

DOS(Disk Operating System, 磁盘操作系统)是Microsoft公司在Windows之前推出的一个操作系统,是单用户、单任务(即只能执行一个任务)的操作系统。输入“rd team1” 删除team1文件,使用“dir” 再次查看class1文件夹的目录。“del 1.txt” 删除1.txt文件,“del *.txt” 删除所有txt格式的文件。(3)“md” (make directory),创建文件夹。(7)“cd/” 或 “cd\” 可以直接回到根目录下。

m0_51543938的博客 155

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

01Linux常用指令

所有的指令不要强制记忆,选项要多多查一下,多多练习使用即可。 文章目录一、Linux简单介绍1.1.Linux的目录结构1.2.常见的具体目录结构/bin/sbin/root/lib/etc/usr/boot/tmp/dev/media/mnt/opt/usr/local/var1.3.路径1.4.空文件的大小二、常用的指令whoamilspwdcdtouchmkdirrmdirrmmancpmvechocattacmorelessheadtaildatecalfindwhichgrepzip压缩和unzi

精致的灰的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

持续总结中!2024年面试必问的操作系统面试题(四)

1、什么是文件系统?请描述文件系统的层次结构。 2、什么是I/O操作?请解释缓冲I/O和直接I/O的区别。

2401_84542969的博客 1348

电子计算机可识别的是进制数据,计算机基础(20201022)

小白白的自我学习笔记,好记忆不如烂笔头~一、计算机基本介绍思考:什么是计算机?所谓计算机就是一种可以自动高效进行计算操作的电子设备,我们称之为电脑(PC)2.特点:计算机可以完成数学和逻辑的运算;计算机可以对数据进行记忆和存储;计算机可以在程序指令下进行高效的计算;3.组成:软件 + 硬件二、硬件系统思考:硬件系统有哪些硬件?现代电子计算机系统依据冯诺依曼分为五部分:输入设备、输出设备、计算器...

weixin_39815879的博客 675

操作系统学习

操作系统作为计算机硬件与软件之间的桥梁,对于计算机的性能和功能至关重要。不同类型的操作系统具有各自的特点和优势,用户可以根据自己的需求选择合适的操作系统。在未来,随着计算机技术的不断发展,我们有理由相信操作系统将继续创新和完善,为用户提供更加便捷、高效和安全的体验。有哪些常见的操作系统?操作系统是一组控制和管理计算机硬件与软件资源的程序,为计算机用户和其他软件提供方便的接口和环境。这只是Linux命令的冰山一角,Linux的强大之处在于其丰富的命令和工具集,以及高度的可定制性。通过查阅手册页(使用。

ggg11232的博客 984

Linux系统命令使用和编程基础

Linux系统和编程基础 Linux系统概述 计算机的体系结构 计算机由计算机硬件和计算机软件两个部分组成,其中计算机软件(Computer Software)可分为系统软件和应用软件,系统软件就是操作系统,是其他软件的基础 目前主流的操作系统有:Windows系列、Unix系列、Linux系列、Android系列、IOS系列、… Linux系统的概述 Linux系统诞生于1991年,在林纳斯·托瓦兹(Linus Torvalds)上大学期间因不满意教学中使用的MINIX操作系统并出于个人爱好设计和研发的

weixin_49741990的博客 331

utils

在前端或全栈开发项目中,`utils` 文件夹(全称 `utilities`,意为“工具”)是一个非常常见且重要的目录,。。---

weixin_57141071的博客 1565
上一篇: iOS中四种实例变量的范围类型@private@protected@public@package
下一篇: ios 文件/目录操作
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值