#import <Foundation/Foundation.h>
#import <Foundation/NSString.h>
#import <Foundation/NSFileManager.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSPathUtilities.h>
#import <Foundation/NSData.h>
int main (int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSFileHandle *inFile, *outFile; NSData *buffer;
// Open the file testfile for reading
inFile = [NSFileHandle fileHandleForReadingAtPath: @"testfile"];
if (inFile == nil) {
NSLog (@"Open of testfile for reading failed");
return 1;
}
// Create the output file first if necessary
[[NSFileManager defaultManager] createFileAtPath: @"testout" contents: nil attributes: nil];
// Now open outfile for writing
outFile = [NSFileHandle fileHandleForWritingAtPath: @"testout"];
if (outFile == nil) {
NSLog (@"Open of testout for writing failed");
return 2;
}
// Truncate the output file since it may contain data
[outFile truncateFileAtOffset: 0];
// Read the data from inFile and write it to outFile
buffer = [inFile readDataToEndOfFile];
[outFile writeData: buffer];
// Close the two files
[inFile closeFile];
[outFile closeFile];
// Verify the file’s contents NSLog(@”%@”, [NSString StringWithContentOfFile: @”testout”]);
[pool drain]; return 0;
}