#import "ViewController.h"
@interface ViewController ()<NSURLConnectionDataDelegate>
@property (nonatomic, strong) NSOutputStream *stream; // 全局,每次下载的内容能够持续的写入
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:@""] delegate:self];
}
#pragma mark-<NSURLConnectionDataDelegate>
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{// 接收响应
NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
// 沙盒文件的路经
NSString *file = [caches stringByAppendingString:response.suggestedFilename];// 和原来下载文件的后缀名保持一致性
// 让接收的数据不断的写入沙盒文件
self.stream = [[NSOutputStream alloc] initToFileAtPath:file append:YES];// 写入不会覆盖
[self.stream open];// 打开 相对于的关闭
}
//数据接收完毕
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[self.stream write:[data bytes] maxLength:data.length];
}
// 数据下载完毕
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
//关闭
[self.stream close];
}