web-dev-qa-db-ja.com

Objective-Cを使用してプログラムでテキストファイルを読み取る

IPhoneプログラミングは初めてです

Resourseフォルダーにあるテキストファイルの内容を読みたい。私は多くのグーグルをしましたが、このタスクを行うための適切な方法を得ることができませんでした。

提案してください

61
Rupesh

"Resource folder"のファイルは、実際にはアプリケーションバンドルのコンテンツです。そのため、最初にアプリケーションバンドル内のファイルのパスを取得する必要があります。

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

次に、コンテンツをNSStringにロードするのがさらに簡単になります。

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

ボーナスとして、filename.txtこのコードは、現在選択されている言語のファイルを正しく取得します。

146
PeyloW

最初に行うことは、読みたいテキストファイルのパスを取得することです。 Resourcesフォルダーにあるので、アプリケーションのメインバンドルにコピーしていると想定しています。 NSBundleの pathForResource:ofType: を使用して、メインバンドル内のファイルのパスを取得できます。

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

次に、 initWithContentsOfFile:usedEncoding:error: を使用して、そのパスにあるファイルをNSStringに直接読み込むことができます。

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