1

iPhone 应用程序

我目前正在尝试了解如何将文件从 URL 存储到文档目录,然后从文档目录中读取文件..

NSURL *url = [NSURL URLWithString:@"http://some.website.com/file"];

NSData *data = [NSData dataWithContentsOfURL:url];

NSString *applicationDocumentsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

NSString *storePath = [applicationDocumentsDir stringByAppendingPathComponent:@"Timetable.ics"];

[data writeToFile:storePath atomically:TRUE];

我从http://swatiardeshna.blogspot.com/2010/06/how-to-save-file-to-iphone-documents.html得到了这段代码

我想知道这是否是正确的方法,我想知道如何将文件从文档目录加载到 NSString 中。

任何帮助将不胜感激。

4

2 回答 2

1

您看起来正确,将该文件读回字符串使用:

编辑:(将 usedEncoding 更改为编码)

NSError *error = nil;
NSString *fileContents = [NSString stringWithContentsOfFile:storePath encoding:NSUTF8StringEncoding error:&error];

当然,如果您使用特定的编码类型,您应该更改字符串编码类型,但 UTF8 可能是正确的。

于 2011-03-23T22:45:35.763 回答
1

如果您在主线程上执行此操作,那么不,这是不正确的。任何类型的网络连接都应该在后台完成,这样您就不会锁定界面。为此,您可以创建一个新线程 ( NSThread, performSelectorInBackground:, NSOperation+ NSOperationQueue) 或将其安排在运行循环 ( NSURLConnection) 上。

于 2011-03-23T23:14:42.467 回答