iOS将文件行读入数组

Fla*_*lyn 6 arrays file ios

我有一个文件,在各行上包含几千个单词.我需要将所有这些单词加载到数组中的单独元素中,因此第一个单词将是Array [0],第二个单词将是Array [1]等.

我在其他地方找到了一些示例代码,但Xcode 4.3说它使用了折旧的调用.

NSString *tmp;
NSArray *lines;
lines = [[NSString stringWithContentsOfFile:@"testFileReadLines.txt"] 
                   componentsSeparatedByString:@"\n"];

NSEnumerator *nse = [lines objectEnumerator];

while(tmp = [nse nextObject]) {
    NSLog(@"%@", tmp);
}
Run Code Online (Sandbox Code Playgroud)

Ila*_*ian 19

是的,+ (id)stringWithContentsOfFile:(NSString *)path已被弃用.

请参阅Apple的NSString文档

而是使用 + (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error

使用方法如下:

lines = [[NSString stringWithContentsOfFile:@"testFileReadLines.txt"
                                   encoding:NSUTF8StringEncoding 
                                      error:nil] 
            componentsSeparatedByString:@"\n"];
Run Code Online (Sandbox Code Playgroud)

更新: - 感谢JohnK

NSCharacterSet *newlineCharSet = [NSCharacterSet newlineCharacterSet];
NSString* fileContents = [NSString stringWithContentsOfFile:@"testFileReadLines.txt"
                                                   encoding:NSUTF8StringEncoding
                                                      error:nil];
NSArray *lines = [fileContents componentsSeparatedByCharactersInSet:newlineCharSet];
Run Code Online (Sandbox Code Playgroud)