Objective-C NSFileHandle的使用

 1 #import <Foundation/Foundation.h>
 2  
 3 int main (int argc, const char * argv[])
 4 {
 5  
 6     @autoreleasepool {
 7         NSString *file1=@"/Users/fhp/Desktop/1.txt";
 8         NSString *file2=@"/users/fhp/Desktop/2.txt";
 9  
10         NSFileHandle *inFile=[NSFileHandle fileHandleForReadingAtPath:file1];
11         //打开1.txt
12         if(inFile==nil)
13         {
14             NSLog(@"打开1.txt错误");
15             return 1;
16         }
17 //        [[NSFileManager defaultManager] createFileAtPath:file2 contents:nil attributes:nil];
18         //创建文件 2.txt
19         NSFileHandle *outFile=[NSFileHandle fileHandleForWritingAtPath:file2];
20         [outFile truncateFileAtOffset:0];
21         //清空内容,把指针指向开头
22 //        [outFile seekToEndOfFile];
23         //可以把指针移动到文件结尾,这样就是增加文件内容,也可以seekTo到指定的位置
24  
25  
26  
27         NSMutableData *buffer=[NSMutableData dataWithCapacity:2048];
28  
29         while ((buffer=[inFile readDataOfLength:2048])!=nil) {
30             [outFile writeData:buffer];
31             //循环读取文件并写入
32         }
33  
34  
35         //当文件不大时,也可以用下面的方法,一次读入整个文件
36         //最多不超过UINT_MAX个字节,定义在limits.h中,一般为FFFFFFFF,即4GB
37 //        NSData *buffer=[inFile readDataToEndOfFile];
38 //        //读取整个文件内容
39 //        [outFile writeData:buffer];
40 //        //写入文件
41         [inFile closeFile];
42         [outFile closeFile];
43         //关闭文件
44  
45  
46     }
47     return 0;
48  
49 }

© 2012, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记

posted @ 2012-08-02 15:24  Evolution.cc  阅读(207)  评论(0)    收藏  举报