Objective-c:NSFileHandle类,创建流对象,对文件进行写入、读取的操作
NSFileHandle类:它需要配合NSFileManager文件管理类,对文件内容进行操作,写入数据、读取数据。 使用步骤: 1、打开文件获取NSFileHandle类的对象 2、进行文件的I/O操作 3、关闭文件 1 // 2 // main.m 3 // 02-NsFileHandle 4 // 5 // Created by ma c on 15/8/24. 6 // Copyright (c) 2015年 bjsxt. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 11 int main(int argc, const char * argv[]) 12 { 13 @autoreleasepool 14 { 15 //NSFileHandle文件 16 //1.创建文件 17 NSString *str = @"this is a test."; 18 NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; 19 NSFileManager *fm = [NSFileManager defaultManager]; 20 if([fm createFileAtPath:@"1.txt" contents:data attributes:nil]) 21 { 22 NSLog(@"文件创建成功"); 23 //2.创建NSFileHandle对象 24 NSFileHandle *infh = [NSFileHandle fileHandleForReadingAtPath:@"1.txt"]; 25 if(infh) 26 { 27 //3.读文件内容 28 //3.1读文件的全部内容 29 //NSData *contents = [fh readDataToEndOfFile]; 30 //3.2读文件的部分内容 31 NSMutableData *allData = [NSMutableData data]; 32 NSData *contents; 33 while(1) 34 { 35 contents = [infh readDataOfLength:4]; 36 //判断是否读到文件尾 37 if(!contents || [contents length] <= 0) 38 { 39 break; 40 } 41 [allData appendData:contents]; 42 } 43 NSString *strContents = [[NSString alloc]initWithData:allData encoding:NSUTF8StringEncoding]; 44 NSLog(@"%@",strContents); 45 } 46 //4.关闭文件 47 [infh closeFile]; 48 } 49 else 50 { 51 NSLog(@"文件创建失败"); 52 } 53 54 //5.写文件的例子 55 [fm createFileAtPath:@"2.txt" contents:nil attributes:nil]; 56 //写文件时只能写已经存在的文件,自己不主动创建文件 57 NSFileHandle *outfh = [NSFileHandle fileHandleForWritingAtPath:@"2.txt"]; 58 if(outfh) 59 { 60 NSData *data = [@"hello world" dataUsingEncoding:NSUTF8StringEncoding]; 61 //写文件 62 [outfh writeData:data]; 63 } 64 [outfh closeFile]; 65 } 66 return 0; 67 } 程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式! 本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4755876.html,如需转载请自行联系原作者