// // ViewController.m // 大文件下载 // // Created by Mac on 16/1/24. // Copyright © 2016年 Mac. All rights reserved. // #import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> // 输出流 @property (nonatomic, strong) NSOutputStream *stream; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/videos/minion_15.mp4"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [NSURLConnection connectionWithRequest:request delegate:self]; } - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ // response.suggestedFilename ------ 建议文件名,与服务器上的文件名保持一致 // 获得文件路径 NSString *str = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; NSString *file = [str stringByAppendingString:response.suggestedFilename]; NSLog(@"%@",file); // 写入到文件路径,append:YES 表示每次写入都写入当前文件的尾部 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{ // 完成下载,关闭stream [self.stream close]; self.stream = nil; NSLog(@"------"); } @end