【语法】NSFileHandle 文件操作柄

1.

  // 创建读取的文件操作柄
        NSFileHandle *inFile=[NSFileHandle fileHandleForReadingAtPath:@"/Users/haiyefeng/Desktop/text1.txt"];
        if(inFile==nil)
        {
            NSLog(@"打开文件失败!");
            return 1;
        }
        else
        {
            NSLog(@"打开文件成功!");
        }
        
        
        // 读取内容成功后
        
        // 读取数据到内存缓冲区
        NSData *buffer=[inFile readDataToEndOfFile];
        
        // 创建文件testFile2
        NSString *testFile2=@"/Users/haiyefeng/Desktop/text2.txt";
        // 创建了一个文件
        [[NSFileManager defaultManager]createFileAtPath:testFile2 contents:nil attributes:nil];
        
        // 创建写入的文件操作柄
        NSFileHandle *outFile=[NSFileHandle fileHandleForWritingAtPath:testFile2];
        if(outFile==nil)
        {
            NSLog(@"打开文件失败!");
            return 2;
        }
        else{
            NSLog(@"打开文件成功!");
        }
        
        
        // 偏移量为0
        [outFile truncateFileAtOffset:0];
        
        // 将缓冲区内容写入文件操作柄
        [outFile writeData:buffer];
        
        // 将两个文件关闭
        [inFile closeFile];
        [outFile closeFile];
        
        // 打印新文件内容
        NSLog(@"%@",[NSString stringWithContentsOfFile:testFile2 encoding:NSUTF8StringEncoding error:nil]);

 

 

2.

       NSString *file1=@"/Users/haiyefeng/Desktop/text2.txt";
        NSString *file2=@"/Users/haiyefeng/Desktop/text1.txt";
        
        NSFileHandle *inFile=[NSFileHandle fileHandleForReadingAtPath:file2];
        if(inFile==nil)
        {
            NSLog(@"打开文件file_1失败");
            return 1;
        }
   
        
        //将文件file_1的内容读取出来,并且存储到缓冲区mybuffer
        NSData *myBuffer=[inFile readDataToEndOfFile];
        
        //创建写入的文件操作柄
        NSFileHandle *outFile=[NSFileHandle fileHandleForReadingAtPath:file1];
        if(outFile==nil)
        {
            NSLog(@"打开文件file_2失败");
            return 2;
        }
        
        
        // 将文件file_2的操作位置设定为文件的末尾处
        [outFile seekToEndOfFile];
        
        // 将缓冲区myBuffer中的内容写入文件file_2
        [outFile writeData:myBuffer];
        
        // 关闭文件操作柄
        [inFile closeFile];
        [outFile closeFile];
        

 

posted @ 2014-04-01 16:33  太过于漂流  阅读(372)  评论(0编辑  收藏  举报