Reputation: 4953
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
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
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
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