Read Text file Programmatically using Objective-C

IphoneTextFile

Iphone Problem Overview


I am new to iPhone Programming

I want to read the content of text file which is in my Resourse folder. i did a lot of googling but failed to get proper way for doing this task.

Please suggest

Iphone Solutions


Solution 1 - Iphone

The files in your "Resource folder" are actually the contents of your application bundle. So first you need to get the path of the file within your application bundle.

NSString* path = [[NSBundle mainBundle] pathForResource:@"filename" 
                                                 ofType:@"txt"];

Then loading the content into a NSString is even easier.

NSString* content = [NSString stringWithContentsOfFile:path
                                              encoding:NSUTF8StringEncoding
                                                 error:NULL];

As a bonus you can have different localized versions of filename.txt and this code will fetch the file of the currently selected language correctly.

Solution 2 - Iphone

The first thing you want to do is get the path for the text file you want to read. Since it's in your Resources folder, I'm assuming you're copying it into the main bundle of the application. You can get the path for a file in your main bundle using NSBundle's pathForResource:ofType:

NSBundle *mainBundle = [NSBundle mainBundle];
NSString *filePath = [mainBundle pathForResource:@"filename" ofType:@"txt"];

Then you can read the file at that path into an NSString directly using initWithContentsOfFile:usedEncoding:error:

NSStringEncoding encoding;
NSError *error;
NSString *fileContents = [[[NSString alloc] initWithContentsOfFile:filePath
usedEncoding:&encoding
error:&error]
autorelease];

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRupeshView Question on Stackoverflow
Solution 1 - IphonePeyloWView Answer on Stackoverflow
Solution 2 - IphoneTimView Answer on Stackoverflow