NSData提供不可变数据缓冲区。
使用文件时,需要频繁地将数据读入到一个临时存储区,这个临时存储区通常称为缓冲区。当收集数据,以便随后将这些数据输出到文件中时,通常也使用存储区。Foundation的NSData类提供了一种简单的方式,它用来设置缓冲区,将文件的内容读入缓冲区,或将缓冲区的内容写到一个文件。对于32位应用程序,NSData缓冲区最多可存储2GB的数据,对于64位应用程序,最多可存储8EB(即,8亿GB)的数据。
示例
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSFileManager *fm;
NSData *fileData;
fm = [NSFileManager defaultManager];
// 读取文件 newfile2
fileData = [fm contentsAtPath: @"newfile2"];
if (fileData == nil) {
NSLog(@"File read failed!");
return 1;
}
// 将数据写入 newfile3
if ([fm createFileAtPath: @"newfile3" contents: fileData attributes: nil] == NO) {
NSLog(@"Coundn't create the copy!");
return 2;
}
NSLog(@"File copy was successful!");
}
return 0;
}