我有一个文件,每行包含几千个单词。我需要将所有这些单词加载到数组中的单独元素中,因此第一个单词将是 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);
}
最佳答案
是的,+ (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"];
更新: - 感谢 JohnK
NSCharacterSet *newlineCharSet = [NSCharacterSet newlineCharacterSet];
NSString* fileContents = [NSString stringWithContentsOfFile:@"testFileReadLines.txt"
encoding:NSUTF8StringEncoding
error:nil];
NSArray *lines = [fileContents componentsSeparatedByCharactersInSet:newlineCharSet];
关于iOS 将文件行读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9765621/