码迷,mamicode.com
首页 > 移动开发 > 详细

IOS中大文件拷贝算法

时间:2014-05-20 13:09:41      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   c   code   java   

bubuko.com,布布扣
 1 + (void)copyFileFromPath:(NSString *)fromPath toPath:(NSString *)toPath
 2 {
 3     //每次读取数据大小
 4     #define READ_SIZE 10
 5     // 获取文件管理器
 6     NSFileManager *fm = [NSFileManager defaultManager];
 7     
 8     // 创建目标文件,用于存储从源文件读取的NSData数据
 9     
10     BOOL isSuccess = [fm createFileAtPath:toPath contents:nil attributes:nil];
11     
12     if (!isSuccess) {
13         NSLog(@"创建目标文件失败!");
14         return;
15     }
16     // 获取源文件大小
17     NSDictionary *dic = [fm attributesOfItemAtPath:fromPath error:nil];
18     NSNumber *file_size = [dic objectForKey:@"NSFileSize"];
19     NSNumber *hadReadSize = @0;
20     double leftSize = [file_size doubleValue] - [hadReadSize doubleValue];
21     // 创建源文件和目标文件的句柄
22     NSFileHandle *sh = [NSFileHandle fileHandleForReadingAtPath:fromPath];
23     NSFileHandle *dh = [NSFileHandle fileHandleForWritingAtPath:toPath];
24     NSData *tempData = nil;
25     while (leftSize > 0) {
26         if (leftSize < READ_SIZE) {
27             tempData = [sh readDataToEndOfFile];
28             [dh writeData:tempData];
29             break;
30         }
31         else
32         {
33             tempData = [sh readDataOfLength:READ_SIZE];
34             [dh writeData:tempData];
35             leftSize -= READ_SIZE;
36         }
37         
38     }
39     
40 }
bubuko.com,布布扣

 

IOS中大文件拷贝算法,布布扣,bubuko.com

IOS中大文件拷贝算法

标签:style   blog   class   c   code   java   

原文地址:http://www.cnblogs.com/dashunzi/p/3737640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!