iOS 将文件行读入数组

标签 ios arrays file

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

相关文章:

iphone - 表格 View 不显示数据,iphone

php - 将 mysql_fetch_array 结果拆分为前端的两个不同的两个不同行

c# - 如何将数据导出到 Excel 文件

android - 将文件存储在 Cordova App 的文件夹中

JAVA 文件和图形流数据?

ios - 在 iOS 中访问自定义 UITableViewCell 内的 View

ios - #import <libxml/tree.h> 文件在 xcode 6.1 更新后找不到

java - 仅具有特定列可选择的 JTable 和/或仅从一列获取数据

ios - 更新到 Swift 3 破坏了我的 swifty json 代码

java - 玩家在数组中的移动