-4

我想读取文件 %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 GANA ME PARECE UNANA} .

最好的祝福

4

2 回答 2

0

采用NSString stringWithContentsOfFile:encoding:error:

如果您认为此答案不合适,请改写您的问题。特别是让您的问题和代码片段实际上与主题行匹配。

但是,很可能您确实在寻找,writeToFile:atomically:encoding:error:但我只能猜测。

于 2013-08-09T12:06:19.987 回答
0

你的问题不是很清楚!

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

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


您创建一个NSMutableString

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

然后你分配bcadena1

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);

If your file %i.txt is within the 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);
于 2013-08-09T12:08:22.763 回答