将NSData写入文件的最简单的方法
NSData *data; data = [self fillInSomeStrangeBytes];
我现在的问题是如何将这些data
写入文件的最简单的方法。
(我已经有一个NSURL file://localhost/Users/Coding/Library/Application%20Support/App/file.strangebytes
)
NSData
有一个名为writeToURL:atomically:
的方法writeToURL:atomically:
这正是你想要做的。 查看NSData
的文档,看看如何使用它。
writeToURL:primefaces地:或者writeToFile:primefaces地:如果你有一个文件名而不是一个URL。
请注意,将NSData
写入文件是可能会阻塞主线程的IO操作。 特别是如果数据对象很大。
因此,build议在后台线程上执行此操作,最简单的方法是使用GCD,如下所示:
// Use GCD's background queue dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ // Generate the file path NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"yourfilename.dat"]; // Save it into file system [data writeToFile:dataPath atomically:YES]; });