我想讀取一個txt文件並將其存儲在NSArray中。這裏是我的代碼,但似乎有什麼缺失,我不知道!如何讀取一個txt文件並存儲在NSArray中?
NSURL *url=[NSURL URLWithString:@"http://www.google.com/robots.txt"];
NSMutableArray *robots=[NSMutableArray arrayWithContentsOfURL:url];
NSLog(@"%@",robots);
我想讀取一個txt文件並將其存儲在NSArray中。這裏是我的代碼,但似乎有什麼缺失,我不知道!如何讀取一個txt文件並存儲在NSArray中?
NSURL *url=[NSURL URLWithString:@"http://www.google.com/robots.txt"];
NSMutableArray *robots=[NSMutableArray arrayWithContentsOfURL:url];
NSLog(@"%@",robots);
你必須URL的內容第一次加載到字符串如
NSString *content = [NSString stringWithContentsOfURL:URL encoding:NSUTF8StringEncoding error:nil];
然後拆分此字符串是這樣的:
NSArray *parsed = [content componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
現在parsed
陣列將包含來自URL字符串。
編輯:
如果要篩選陣列,添加以下代碼:
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
字符串
謝謝,幫助!我怎樣才能返回只包含@「Disallow」字符串的行? –
第一行是什麼?這是一種方法嗎?這些參數是什麼? –
這一行返回索引ob對象,在這種情況下,它傳遞了一些測試,子串匹配。它枚舉數組中的所有對象並查看該對象是否通過測試。它使用塊,Objective-C功能(如其他某種語言的匿名函數)對每個枚舉項目運行測試。它返回YES,如果子字符串匹配,否則不返回。 obj是數組中的一個對象,idx是它的索引。另外,如果你想停止測試,你可以在停止變量中返回YES。 – anticyclope
弦我覺得@anticyclope釘支護填充這一個,但在將來,請更多地說出什麼是錯的 - 只是說「缺少什麼」並不能描述你期望的內容,你看到的內容以及它們與衆不同的原因。 –