Bonnie
Bonnie

Reputation: 4953

Write contents of array to a text file

I want to write the contents of an array to a text file in my iPhone application. I can load the array from the text file but i want to allow deleting of content through the array and again write the contents to the text file. How can I achieve this? Or simply if anyone can guide me how to delete the last word of a text file would also be helpful.
EDIT :- basically i want to delete the last word in a text file. can you help me with the logic to achieve that .

Upvotes: 1

Views: 1713

Answers (3)

Shanti K
Shanti K

Reputation: 2918

Write the contents of your original array as shown below:

[firstArray writeToFile:@"/Users/sample/Untitled.txt" atomically:YES];

Whenever you want to retrieve and modify the array, retrieve the contents of the file int an NSMutableArray:

NSMutableArray *myArr = [NSMutableArray arrayWithContentsOfFile:@"/Users/sample/Untitled.txt"];
[myArr removeLastObject];  //Any modification you wanna do
[myArr writeToFile:@"/Users/sample/Untitled.txt" atomically:YES];

Upvotes: 4

Bonnie
Bonnie

Reputation: 4953

the approach in other answers works bu the file is written in a XML format. to simply write the contents of the array in a text file , I first Appended all the strings of the array into a large string then write that string into the text file .below is the code i used for that

NSString *stringToWrite=[[NSString alloc]init];

for (int i=0; i<[stringArray count]; i++)

{
stringToWrite=[stringToWrite stringByAppendingString:[NSString stringWithFormat:@"%@ ",[stringArray objectAtIndex:i]]];

}

[stringToWrite writeToFile:textFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

this will write the contents of the array in plain text format.

Upvotes: 2

Ilanchezhian
Ilanchezhian

Reputation: 17478

There is method in NSArray to write the array into a file.

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag

Please check the Apple documentation

Upvotes: 2

Related Questions