OC循环渐进:文件管理--计算文件大小的五种方式
2015-08-12 18:50
711 查看
在文件管理中,计算文件的大小是要经常用到的操作!其核心就是利用NSData中的length方法来计算字节长度。
以下介绍文件中计算大小的五种常见方式:
创建文件的代码如下:
第一种计算文件大小的代码如下:
第二种计算文件大小的代码如下:
第三种计算文件大小的代码如下:
第四种计算文件大小的代码如下:
第五种计算文件大小的代码如下:
测试结果如下:
好了,文件管理中计算文件的大小就到时为止了!
以下介绍文件中计算大小的五种常见方式:
创建文件的代码如下:
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSLog(@"documentPath = %@",documentPath); NSString *path = [documentPath stringByAppendingPathComponent:@"myfile"]; NSFileManager *fm = [NSFileManager defaultManager]; if (![fm fileExistsAtPath:path]) { if ([fm createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil]) { NSString *fileName = [path lastPathComponent]; NSLog(@"文件夹%@创建成功!",fileName); } }else { NSLog(@"文件已经存在!"); } NSString *textPath = [path stringByAppendingPathComponent:@"content.txt"]; NSString *content = @"this is my content22222222!"; char *string = (char *)[content UTF8String]; NSData *data = [NSData dataWithBytes:string length:strlen(string)]; if (![fm fileExistsAtPath:textPath]) { if ([fm createFileAtPath:textPath contents:data attributes:nil]) { NSString *fileName = [textPath lastPathComponent]; NSLog(@"文件%@创建成功!,文件类型为:%@",fileName,[fileName pathExtension]); } }else { NSLog(@"文件已经存在!"); }
第一种计算文件大小的代码如下:
NSArray *array = [fm subpathsAtPath:path]; NSData *data1 = [NSData dataWithContentsOfFile:[path stringByAppendingPathComponent:array[0]]]; NSLog(@"文件大小为:%ld",data1.length);
第二种计算文件大小的代码如下:
NSData *data2 = [fm contentsAtPath:textPath]; NSLog(@"文件大小为:%ld",data2.length);
第三种计算文件大小的代码如下:
NSDictionary *dict = [fm attributesOfItemAtPath:textPath error:nil]; NSInteger size = [dict[NSFileSize] integerValue]; NSLog(@"文件大小为:%ld",size);
第四种计算文件大小的代码如下:
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:textPath]; //NSFileHandle NSData *data4 = [fileHandle readDataToEndOfFile]; NSLog(@"文件大小为:%ld",data4.length);
第五种计算文件大小的代码如下:
[fileHandle seekToFileOffset:0]; NSData *data5 = [fileHandle availableData]; NSLog(@"文件大小为:%ld",data5.length); [fileHandle closeFile]; //关闭NSFileHandle
测试结果如下:
2015-08-12 15:27:54.805 文件管理练习[11888:757524] documentPath = /Users/3017/Library/Developer/CoreSimulator/Devices/6B694589-D6CC-4EEC-B953-E4A519E801FC/data/Containers/Data/Application/D85F999C-AE67-4E66-B3D3-1B6FF5362667/Documents 2015-08-12 15:27:54.806 文件管理练习[11888:757524] 文件已经存在! 2015-08-12 15:27:54.846 文件管理练习[11888:757524] 文件已经存在! 2015-08-12 15:27:54.932 文件管理练习[11888:757524] 文件大小为:27 2015-08-12 15:27:54.932 文件管理练习[11888:757524] 文件大小为:27 2015-08-12 15:27:54.933 文件管理练习[11888:757524] 文件大小为:27 2015-08-12 15:27:54.933 文件管理练习[11888:757524] 文件大小为:27 2015-08-12 15:27:54.933 文件管理练习[11888:757524] 文件大小为:27
好了,文件管理中计算文件的大小就到时为止了!
相关文章推荐
- bat得到文件大小的代码
- SQL Server 压缩日志与减少SQL Server 文件大小的方法
- PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
- Web.Config文件配置之限制上传文件大小和时间的属性配置
- C#基于Extension Method(扩展方法)获得文件大小的方法
- IIS 7 中设置文件上传大小限制设置方法
- PHP实现读取一个1G的文件大小
- php计算一个文件大小的方法
- nodejs实现遍历文件夹并统计文件大小
- asp.net FileUpload控件实现文件格式判断与文件大小限制
- Java中获取文件大小的详解及实例代码
- PHP实现格式化文件数据大小显示的方法
- Java读取文件夹大小的6种方法及代码
- Puppet学习之文件管理
- 在Linux中,head、tail、cat对文件管理的有效性
- 关于ibm aix jfs2文件系统研究
- Java中获取文件大小的正确方法
- 数据文件大小设置
- Linux下查看文件和文件夹大小
- 使用cron,logrotate来管理日志文件 .