标签:
1 int main(int argc, const char * argv[]) { 2 @autoreleasepool { 3 4 5 //复制文件 6 7 8 //找到原来的文件路径 9 NSString *soureFilePath = @"/Users/scjy/Downloads/51CTO下载-10大iOS开发者最喜爱的类库.doc"; 10 11 //指定新的文件路径(文件不存在) 12 NSString *objectFilePath = @"/Users/scjy/Desktop/刘二龙练习/OC/练习1/大文件复制/大文件复制/51CTO下载-10大iOS开发者最喜爱的类库.doc"; 13 14 //创建文件管理器,为创建新的文件做准备 15 NSFileManager *fileManager=[NSFileManager defaultManager]; 16 17 // 如果源文件不存在,结束程序 18 if ([fileManager fileExistsAtPath:soureFilePath]) { 19 return 0; 20 } 21 /* // 如果目标文件存在,无需创建 22 if ([fileManager fileExistsAtPath:objectFilePath]) { 23 NSLog(@"文件已存在,无需创建新文件"); 24 } 25 */ 26 //创建新的文件(此时文件中无数据) 27 BOOL isSuccess=[fileManager createFileAtPath:objectFilePath contents:nil attributes:nil]; 28 if (isSuccess) 29 { 30 NSLog(@"创建成功"); 31 32 33 //1.读取源文件中的数据:fileHandleForReadingAtPath 34 NSFileHandle *soureHandle=[NSFileHandle fileHandleForReadingAtPath:soureFilePath]; 35 // 用soureHandle.seekToEndOfFile获取文件字节数 36 for (NSUInteger i = 0; i<soureHandle.seekToEndOfFile; i++) 37 { 38 //准备读取源文件 39 NSFileHandle *soureHandle=[NSFileHandle fileHandleForReadingAtPath:soureFilePath]; 40 41 // 定位从什么位置开始读取源文件 42 [soureHandle seekToFileOffset:10*i]; 43 44 // 读取10字节 45 NSData *old_data=[soureHandle readDataOfLength:10]; 46 47 //2.将源文件中获取的数据写入新的文件:fileHandleForWritingAtPath 48 //准备写入目标文件 49 NSFileHandle *objectHandle=[NSFileHandle fileHandleForWritingAtPath:objectFilePath]; 50 51 // 开始写入时的位置 52 [objectHandle seekToFileOffset:10*i]; 53 54 // 写入 55 [objectHandle writeData:old_data]; 56 57 // 关闭源文件 58 [soureHandle closeFile]; 59 60 // 关闭目标文件 61 [objectHandle closeFile]; 62 } 63 } 64 else 65 { 66 NSLog(@"创建失败"); 67 } 68 69 70 } 71 return 0; 72 }
标签:
原文地址:http://www.cnblogs.com/doublelongliu/p/4649618.html