Saving text file to documents directory in iOS 7 Saving text file to documents directory in iOS 7 ios ios

Saving text file to documents directory in iOS 7


From Apple's Xcode Template:

/** Returns the URL to the application's Documents directory. */- (NSURL *)applicationDocumentsDirectory {    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory          inDomains:NSUserDomainMask] lastObject];}

You can save like this:

NSString *path = [[self applicationDocumentsDirectory].path                        stringByAppendingPathComponent:@"fileName.txt"];[sampleText writeToFile:path atomically:YES                       encoding:NSUTF8StringEncoding error:nil];


Mundi's answer in Swift:

    let fileName = "/File Name.txt"    let filePath = self.applicationDocumentsDirectory().path?.stringByAppendingString(fileName)    do {        try strFileContents.writeToFile(filePath!, atomically: true, encoding: NSUTF8StringEncoding)        print(filePath)    }    catch {        // error saving file    }func applicationDocumentsDirectory() -> NSURL {    return NSFileManager.defaultManager().URLsForDirectory(NSSearchPathDirectory.DocumentDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask).last!}


    -(void)writeATEndOfFile:(NSString *)content2    {        NSArray *paths = NSSearchPathForDirectoriesInDomains        (NSDocumentDirectory, NSUserDomainMask, YES);        NSString *documentsDirectory = [paths objectAtIndex:0];        //make a file name to write the data to using the documents directory:        NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt",                              documentsDirectory];        if([[NSFileManager defaultManager] fileExistsAtPath:fileName])        {            NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:fileName];            [fileHandle seekToEndOfFile];            NSString *writedStr = [[NSString alloc]initWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:nil];            content2 = [content2 stringByAppendingString:@"\n"];            writedStr = [writedStr stringByAppendingString:content2];            [writedStr writeToFile:fileName                        atomically:NO                          encoding:NSStringEncodingConversionAllowLossy                             error:nil];        }        else {            int n = [content2 intValue];            [self writeToTextFile:n];        }    }    -(void) writeToTextFile:(int) value{        //get the documents directory:        NSArray *paths = NSSearchPathForDirectoriesInDomains        (NSDocumentDirectory, NSUserDomainMask, YES);        NSString *documentsDirectory = [paths objectAtIndex:0];        //make a file name to write the data to using the documents directory:        NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt",                              documentsDirectory];        //create content - four lines of text       // NSString *content = @"One\nTwo\nThree\nFour\nFive";        NSString *content2 = [NSString stringWithFormat:@"%d",value];        content = [content2 stringByAppendingString:@"\n"];        //save content to the documents directory        [content writeToFile:fileName                  atomically:NO                    encoding:NSStringEncodingConversionAllowLossy                       error:nil];    }