OC之i文件管理NSFileHandle

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        NSString *homepath=NSHomeDirectory();
        NSString *filePath=[homepath stringByAppendingPathComponent:@"created.text"];
        NSFileManager *fileManager=[NSFileManager defaultManager];//创建一个NSFileManager对象用来创建文件
        NSString *strs=@"这是原有的内容";
        NSData *datas=[strs dataUsingEncoding:NSUTF8StringEncoding];
        BOOL isSuccess=[fileManager createFileAtPath:filePath contents:datas attributes:nil];
        if (isSuccess) {
            NSLog(@"文件创建成功!");
        }
        NSLog(@"%@",filePath);


        
        NSFileHandle *fileHandle_1=[NSFileHandle fileHandleForWritingAtPath:filePath];//创建一个写入的文件对象fileHandle_1
        [fileHandle_1 seekToEndOfFile];//设置偏移量到文件末尾
        NSString *str=@"这是追加的内容";//
        NSData *data=[str dataUsingEncoding:NSUTF8StringEncoding];//创建一个使用u8编码的数据对象
        [fileHandle_1 writeData:data];//使用fileHandle_1对象写入数据
        [fileHandle_1  closeFile];//关闭文件流
        
        
        //定位数据
//        NSString *homepath=NSHomeDirectory();
//        NSString *filePath=[homepath stringByAppendingPathComponent:@"wo.rtf"];//文件路径,会自动添加一个‘\’
//        NSFileHandle *fileHandle=[NSFileHandle fileHandleForReadingAtPath:filePath];//创建一个读对象,把路径传给它
//        NSUInteger length=[fileHandle availableData].length;//获取可用数据的长度
//        [fileHandle seekToFileOffset:length/2];//文件数据的偏移量设置到1/2处
//        NSData *data=[fileHandle readDataToEndOfFile];//建立一个读到文件末尾数据对象
//        NSString *str=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];//建立一个NSString对象,接收data并按照u8编码
//        NSLog(@"%@",str);
//        [fileHandle closeFile];
        
        
        //从一个文件读取数据并写入到另一文件中
//        NSString *homePath=NSHomeDirectory();
//        NSString *filepath=[homePath stringByAppendingPathComponent:@"wo.rtf"];
//        NSString *targetpath=[homePath stringByAppendingPathComponent:@"ni.rtf"];
//        
//        NSFileManager *manager=[NSFileManager defaultManager];
//        BOOL success=[manager createFileAtPath:targetpath contents:nil attributes:nil];
//        if (success) {
//            NSLog(@"文件创建成功!");
//        }
//        
//        NSFileHandle *outfile=[NSFileHandle fileHandleForWritingAtPath:targetpath];
//       
//        NSFileHandle *infile=[NSFileHandle fileHandleForReadingAtPath:
//            filepath];
//        
//        NSData *data=[infile readDataToEndOfFile];
//        [outfile writeData:data];
//        
//        [outfile closeFile];
//        [infile closeFile];
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值