我有一个文件,在各行上包含几千个单词.我需要将所有这些单词加载到数组中的单独元素中,因此第一个单词将是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)