File Handling in Objective-C

File handling is made available with the help of class NSFileManager. These examples won't work on online compiler.

Methods used in File Handling

The list of the methods used for accessing and manipulating files is listed below. Here, we have to replace the FilePath1, FilePath2 and FilePath strings to our required full file paths to get the desired action.

Check if File Exists at a Path

NSFileManager *fileManager = [NSFileManager defaultManager];

//Get documents directory
NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [directoryPaths objectAtIndex:0];

if ([fileManager fileExistsAtPath:@""] == YES) {
   NSLog(@"File exists");

Comparing Two File Contents

if ([fileManager contentsEqualAtPath:@"FilePath1" andPath:@" FilePath2"]) {
   NSLog(@"Same content");

Check if Writable, Readable and Executable

if ([fileManager isWritableFileAtPath:@"FilePath"]) {

if ([fileManager isReadableFileAtPath:@"FilePath"]) {

if ( [fileManager isExecutableFileAtPath:@"FilePath"]) {
   NSLog(@"is Executable");

Move File

if([fileManager moveItemAtPath:@"FilePath1" 
   toPath:@"FilePath2" error:NULL]) {
      NSLog(@"Moved successfully");

Copy File

if ([fileManager copyItemAtPath:@"FilePath1" 
   toPath:@"FilePath2"  error:NULL]) {
      NSLog(@"Copied successfully");

Remove File

if ([fileManager removeItemAtPath:@"FilePath" error:NULL]) {
   NSLog(@"Removed successfully");

Read File

NSData *data = [fileManager contentsAtPath:@"Path"];

Write File

[fileManager createFileAtPath:@"" contents:data attributes:nil];

We have successfully learnt on the various file access and manipulation techniques and it's now your time to do various operations on the files and know the usage of files.