NSFileHandle

 1 //        //NSFileHandle读写数据
 2 //        
 3 //        
 4 //        //打开一个文件准备读取
 5 //        + (id)fileHandleForReadingAtPath:(NSString *)path;
 6 //        
 7 //        //打开一个文件准备写入
 8 //        + (id)fileHandleForWritingAtPath:(NSString *)path;
 9 //        
10 //        //打开一个文件准备更新
11 //        + (id)fileHandleForUpdatingAtPath:(NSString *)path;
12 //        
13 //        //从设备或通道返回可用的数据(所有)
14 //        - (NSData *)availableData;
15 //        
16 //        //从当前的节点读取到文件末尾
17 //        - (NSData *)readDataToEndOfFile;
18 //        
19 //        //从当前节点开始读取制定的长度数据
20 //        - (NSData *)readDataOfLength:(NSUInteger)length;
21 //        
22 //        //写入数据(写入时会覆盖)
23 //        - (void)writeData:(NSData *)data;
24 //        
25 //        //获取当前文件的偏移量
26 //        - (unsigned long long)offsetInFile;
27 //        
28 //        //跳到文件的末尾(最大偏移量)
29 //        - (unsigned long long)seekToEndOfFile;
30 //        
31 //        //跳到制定文件的偏移量
32 //        - (void)seekToFileOffset:(unsigned long long)offset;
33 //        
34 //        //将文件的偏移量设置为需要的长度
35 //        - (void)truncateFileAtOffset:(unsigned long long)offset;
36 //        
37 //        - (void)synchronizeFile;
38 //        
39 //        //关闭文件
40 //        - (void)closeFile;
41         
42         
43         
44 /**追加数据************************************************/
45         
46         NSString *homePath = NSHomeDirectory();
47         NSString *filePath = [homePath stringByAppendingPathComponent:@"list1.txt"];
48        
49         NSFileHandle *handle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
50         //[handle seekToEndOfFile];
51         
52         [handle seekToFileOffset:10];
53         NSString *string = @"什么东西";
54         NSLog(@"%@",string);
55         
56         NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
57         NSLog(@"%@",data);
58         [handle writeData:data];
59         
60         [handle closeFile];
61         
62 /**读取数据**********************************************/
63 
64         NSString *readfilePath = [homePath stringByAppendingPathComponent:@"list111.txt"];
65         
66         NSString *content = @"asdfghjkla";
67         
68         NSFileManager *fm = [NSFileManager defaultManager];
69         
70         [fm createFileAtPath:readfilePath contents:[content dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
71         
72         NSFileHandle *readhandle = [NSFileHandle fileHandleForReadingAtPath:readfilePath];
73         
74         [readhandle seekToFileOffset:[[readhandle availableData] length]/2];
75         
76         NSData *readdata = [readhandle readDataToEndOfFile];
77         
78         NSString *datastring = [[NSString alloc] initWithData:readdata encoding:NSUTF8StringEncoding];
79         NSLog(@"%@",datastring);
80         
81         [readhandle closeFile];
82         
83 /**复制文件****************************************************/
84 
85         NSString *filePath1 = [homePath stringByAppendingPathComponent:@"list111.txt"];
86         NSString *filePath2 = [homePath stringByAppendingPathComponent:@"list222.txt"];
87         
88         NSFileHandle *handle1 = [NSFileHandle fileHandleForReadingAtPath:filePath1];
89         NSData *copyData = [handle1 readDataToEndOfFile];
90         
91         [fm createFileAtPath:filePath2 contents:copyData attributes:nil];
92         
93         [handle1 closeFile];

 

posted on 2013-03-18 21:04  leosen  阅读(182)  评论(0)    收藏  举报