保存文件时,解决内存暴涨 方法之-- FileHandle
2016-03-06 16:18
323 查看
一、 FileHandle
NSFileHandle 是专门用来处理文件操作的类,那么他都有什么功能呢!NSFileManager : 主要是做文件的删除,移动,复制,检查文件是否存在等操作,类似于 Finder。
NSFileHandle : 文件句柄(指针),操纵,提示:凡是看到 Handle 这个单词,就表示对前面一个单词(File)的独立操作。
为了解决刚才内存暴涨的那个问题!我们不能在整个数据下载完毕之后才将数据保存的沙盒中,我们应该下载一点就保存一点!
步骤:
1>我们在接受数据的方法中,来写保存数据的方法。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { //调用保存数据的方法 [self saveFile:data]; }
2>写入数据的时候先找到文件的路径
- (void)saveFile:(NSData *)data { /保存文件的路径 NSString *filePath = @"/Users/Apple/Desktop/111111.hm"; //如果文件不存在,返回的是nil NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath]; if (fileHandle == nil) { //如果文件不存在,会自动创建 [data writeToFile:filePath atomically:YES]; }else { //让offset指向文件的末尾 [fileHandle seekToEndOfFile]; [fileHandle writeData:data]; //关闭文件 [fileHandle closeFile]; } }
注意点:
:
NSFileHandle 使用完毕之后需要关闭!
相关文章推荐
- 剑指offer——年龄排序问题
- PAT_Basic 1009
- [LeetCode]233. Number of Digit One
- 盲并遗忘着-利用应用交付透析大型网站日志
- bzoj4008: [HNOI2015]亚瑟王
- 剑指offer——年龄排序问题
- Java多线程下载的实现方法
- 构建之法阅读笔记01
- 本学期阅读计划
- 构建之法(五)
- Log4j最佳实践
- 软工大作业·源物语(一)
- 内核定时任务timer_list
- NBUT 1655 [1655] 木块拼接
- java script 显示缩略词
- css3的nth-child选择器的详细探讨
- c++小结二
- 构建执法阅读笔记01
- 个人作业1:随机生成四则运算
- 数据结构——散列(一)