我编写了一个将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;}
}
对于如何改进并指定正确格式的任何建议,我将非常感激。
答案 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 :(参见文档) 并且您将能够指定正确的编码并获得准确的错误说明。