NSFileHandle文件柄

文件柄读
//创建读文件柄
NSFileHandle *readFileH =[NSFileHandle fileHandleForReadingAtPath:PATH];
//开始读输入 一次性把文件中的数据都读出来
NSData *data = [readFileH readDataToEndOfFile];
//只想读一部分 20bytes
NSData *d2 = [readFileH readDataOfLength:20];
//想从某一个位置开始读 100个bytes开始读
//把文件柄放到第100个bytes的位置上
[readFileH seekToFileOffset:100];
//下次开始读的时候 就继续读
[readFileH readDataOfLength:200];
//指向读最后 到最后那里去定位
[readFileH seekToEndOfFile];

文件柄写
NSString * s= @"hello world";
NSData *data = [s dataUsingEncoding:NSUTF8StringEncoding];

    NSFileManager * fm = [NSFileManager defaultManager];
    [fm createFileAtPath:@"/Users/apple/Desktop/a.txt" contents:nil attributes:nil];
    
   //创建一个写文件柄  管理文件的
    NSFileHandle * writeFileH=[NSFileHandle fileHandleForWritingAtPath:@"/Users/apple/Desktop/a.txt" ];
    [writeFileH writeData:data];
    //每次写数据都是接着上一次的位置开始写的
    [writeFileH writeData:data];
    //可以定位到指定的地点 去继续写
    [writeFileH seekToFileOffset:100];
    [writeFileH seekToEndOfFile];
    //写文件柄 将文件清空  指定位置之后的数据 进行一个清空
    [writeFileH truncateFileAtOffset:0];
    [writeFileH truncateFileAtOffset:100];

你可能感兴趣的:(NSFileHandle文件柄)