如何读取文本文件并存储在NSArray中?

时间:2011-11-25 03:09:41

标签: objective-c nsarray robots.txt

我正在尝试读取txt文件并将其存储在NSArray中。这是我的代码,但似乎缺少一些我不知道的东西!

NSURL *url=[NSURL URLWithString:@"http://www.google.com/robots.txt"];

    NSMutableArray *robots=[NSMutableArray arrayWithContentsOfURL:url];

    NSLog(@"%@",robots);

1 个答案:

答案 0 :(得分:6)

您必须首先将URL的内容加载到字符串中,如

NSString *content = [NSString stringWithContentsOfURL:URL encoding:NSUTF8StringEncoding error:nil];

然后像这样拆分这个字符串:

NSArray *parsed = [content componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

现在parsed数组将包含来自网址的字符串。

修改

如果要过滤数组,请添加以下代码:

NSIndexSet *indexes = [parsed indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    NSRange range = [(NSString *)obj rangeOfString:@"Disallow"];
    if (range.location != NSNotFound)
    {
        return YES; 
    }
    return NO;
}];

NSArray *disallowed = [parsed objectsAtIndexes:indexes];

disallowed将填充包含Disallow字符串

的字符串