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];