Reputation: 1225
I have a file of words/phrases separated by newlines. I need to get the file and read each word/phrase into the array. I have this so far:
NSFileHandle *wordsFile = [NSFileHandle fileHandleForReadingAtPath:[[NSBundle mainBundle] pathForResource:@"WordList"
ofType:nil]];
NSData *words = [wordsFile readDataToEndOfFile];
[wordsFile closeFile];
[wordsFile release];
But I'm not sure if that's right, and if so, where to go from there.
Also, teabot's answer of
NSString componentsSeparatedByCharactersInSet: NSCharacterSet newlineCharacterSet
works great, but it's 10.5 only. How would this behavior be replicated for 10.4?
Upvotes: 6
Views: 7966
Reputation: 6091
Just for completeness (and because I am bored) here's a complete example bassed on teabot's post:
NSString *string = [NSString stringWithContentsOfFile:[[NSBundle mainBundle]
pathForResource:@"file" ofType:@"txt"]];
NSArray *array = [string componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSLog(@"%@",array);
Upvotes: 11
Reputation: 15444
Here is an approach that should work - I'll leave out an actual code example as the implementation should be fairly straightforward given following:
Construct an NSString from your file with:
NSString stringWithContentsOfFile:encoding:error
Split the string into an array of NSStrings using the following:
NSString componentsSeparatedByCharactersInSet:
NSCharacterSet newlineCharacterSet
You should end up with an NSArray of NSStrings with each string containing one of the lines in your file.
Upvotes: 11