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?
All you need to do is read each line and store that into ArrayList, as shown in the following example: BufferedReader bufReader = new BufferedReader(new FileReader("file. txt")); ArrayList<String> listOfLines = new ArrayList<>(); String line = bufReader.
Yes JS can read local files (see FileReader()) but not automatically: the user has to pass the file or a list of files to the script with an html <input type="file"> .
Example 1: Converting a text file into a list by splitting the text on the occurrence of '. '. We open the file in reading mode, then read all the text using the read() and store it into a variable called data. after that we replace the end of the line('/n') with ' ' and split the text further when '.
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.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With