Write a file on iOS Write a file on iOS ios ios

Write a file on iOS


May be this is useful to you.

//Method writes a string to a text file-(void) writeToTextFile{        //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";        //save content to the documents directory        [content writeToFile:fileName                          atomically:NO                                encoding:NSUTF8StringEncoding                                       error:nil];}//Method retrieves content from documents directory and//displays it in an alert-(void) displayContent{        //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];        NSString *content = [[NSString alloc] initWithContentsOfFile:fileName                                                      usedEncoding:nil                                                             error:nil];        //use simple alert from my library (see previous post for details)        [ASFunctions alert:content];        [content release];}


Your code is working at my end, i have just tested it. Where are you checking your changes? Use Documents directory path. To get path -

NSLog(@"%@",documentsDirectory);

and copy path from console and then open finder and press Cmd+shift+g and paste path here and then open your file


Swift

func saveFile() {    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)    let documentsDirectory = paths[0] as! String    let fileName = "\(documentsDirectory)/textFile.txt"    let content = "Hello World"    content.writeToFile(fileName, atomically: false, encoding: NSUTF8StringEncoding, error: nil)}func loadFile() {    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)    let documentsDirectory = paths[0] as! String    let fileName = "\(documentsDirectory)/textFile.txt"    let content: String = String(contentsOfFile: fileName, encoding: NSUTF8StringEncoding, error: nil)!    println(content)}

Swift 2

func saveFile() {    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)    let documentsDirectory = paths[0]    let fileName = "\(documentsDirectory)/textFile.txt"    let content = "Hello World"    do{        try content.writeToFile(fileName, atomically: false, encoding: NSUTF8StringEncoding)    }catch _ {    }}func loadFile()->String {    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)    let documentsDirectory = paths[0]     let fileName = "\(documentsDirectory)/textFile.txt"    let content: String    do{       content = try String(contentsOfFile: fileName, encoding: NSUTF8StringEncoding)    }catch _{        content=""    }    return content;}

Swift 3

func saveFile() {    let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)    let documentsDirectory = paths[0]    let fileName = "\(documentsDirectory)/textFile.txt"    let content = "Hello World"    do{        try content.write(toFile: fileName, atomically: false, encoding: String.Encoding.utf8)    }catch _ {    }}func loadFile()->String {    let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)    let documentsDirectory = paths[0]    let fileName = "\(documentsDirectory)/textFile.txt"    let content: String    do{        content = try String(contentsOfFile: fileName, encoding: String.Encoding.utf8)    } catch _{        content=""    }    return content;}