如何读取文本文件

时间:2013-08-09 11:57:30

标签: iphone objective-c nsstring

我想阅读文件%i.txt并将内容保存在cadena1。

这是我的代码

NSMutableString *b = [NSMutableString stringWithFormat:@"%i", i];
[b appendString:@".txt"];

//Assing b to a Nsstring

NSString *cadena1 = b;
NSLog(@"The text is:%@", cadena1);

问题是我不知道如何将文件txt的内容保存到NSString中。在控制台中使用---> NSLog(@“Cadena de archivo de texto:%@”,cadena1); Cadena de archivo de texto:%i.text。

我尝试:

NSString *b = [[NSBundle mainBundle] pathForResource:[NSMutableString        stringWithFormat:@"%i", i] ofType:@"txt"];
NSString *cadena1 = [NSString stringWithContentsOfFile:b encoding:NSUTF8StringEncoding    error:NULL];
NSLog(@"Cadena de archivo de texto:%@", cadena1);

但这是结果

Cadena de archivo de texto:{\ rtf1 \ ansi \ ansicpg1252 \ cocoartf1138 \ cocoasubrtf510 {\ fonttbl \ f0 \ fswiss \ fcharset0 Helvetica;} {\ colortbl; \ red255 \ green255 \ blue255;} \ paperw11900 \ paperh16840 \ margl1440 \ margr1440 \ vieww10800 \ viewh8400 \ viewkind0 \ pard \ tx566 \ tx1133 \ tx1700 \ tx2267 \ tx2834 \ tx3401 \ tx3968 \ tx4535 \ tx5102 \ tx5669 \ tx623 6 \ tx6803 \ pardirnatural \ f0 \ fs24 \ cf0 ME PARECE UNA MALA OPCION NO GANAMOS NADA}。

祝你好运

2 个答案:

答案 0 :(得分:0)

使用NSString stringWithContentsOfFile:encoding:error:

如果您觉得这个答案不合适,请重新提问。特别是让您的问题和代码片段实际上与主题行匹配。

但是,你可能真的在寻找writeToFile:atomically:encoding:error:,但我只能猜测。

答案 1 :(得分:0)

你的问题不是很清楚!

“保存”:数据(例如NSSTring)到文件(例如* .txt)

“读取”:文件(例如* .txt)到数据(例如NSSTring


您创建了NSMutableString

NSMutableString *b = [NSMutableString stringWithFormat:@"%i", i];
[b appendString:@".txt"];

然后您将b分配给cadena1

NSString *cadena1 = b;
NSLog(@"Cadena de archivo de texto:%@", cadena1);

您在变量cadena1中没有文件内容是合乎逻辑的,因为您从未读过该文件的内容。您刚刚创建了一个包含文件名称的字符串。

如果你的文件%i.txt在mainBundle中(在Xcode中):

NSString *b = [[NSBundle mainBundle] pathForResource:[NSMutableString stringWithFormat:@"%i", i] ofType:@"txt"];
NSString *cadena1 = [NSString stringWithContentsOfFile:b encoding:NSUTF8StringEncoding error:NULL];
NSLog(@"Cadena de archivo de texto:%@", cadena1);

如果您的文件%i.txt位于documents-folder:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *b = [documentsDirectory stringByAppendingPathComponent:[NSMutableString stringWithFormat:@"%i", i]];
NSString *cadena1 = [NSString stringWithContentsOfFile:b encoding:NSUTF8StringEncoding error:NULL]; 
NSLog(@"Cadena de archivo de texto:%@", cadena1);