如何将txt文件加载到数组中

时间:2011-03-22 22:12:46

标签: iphone objective-c cocoa-touch

我编写了一个将txt文件加载到数组中的方法。但是,我对它并不满意,因为它看起来非常麻烦我初学者的眼睛(我确定我不需要50%的代码)而且我想知道如何指定我的txt的确切格式文件,例如NSUTF8StringEncoding。

这是我的代码:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
 NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory

 NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"Sample.txt"]; 

if (filePath) { // check if file exists - if so load it:
    NSString *myText = [NSString stringWithContentsOfFile:filePath];
    if (myText) {textView.text=myText;}
}

对于如何改进并指定正确格式的任何建议,我将非常感激。

2 个答案:

答案 0 :(得分:1)

假设您的文件在捆绑包中,请尝试以下操作:

NSString * filePath = [[NSBundle mainBundle] pathForResource:@"Sample" ofType:@"txt"];

NSError * error = nil;

NSString * contentsOfFile = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];

答案 1 :(得分:-1)

进入阵列?你的意思是变成一个字符串,因为正是你正在做的......

然而,你的代码看起来并不坏,而且大多数只是为了获取文档目录路径,这不是你的错,因为根据许多知识库,它完全按照这种方式完成。

截至编码时,不推荐使用stringWithContentsOfFile,请使用stringWithContentsOfFile:encoding:error :(参见文档) 并且您将能够指定正确的编码并获得准确的错误说明。