Object-C文件管理对文件的操作以及对文件内容的操作

对文件的操作

一、 文件管理常用的类和方法

1、NSFileManager:

提供了对文件的基本操作类,对文件的删除、修改、移动、复制等内容

2、常用方法

创建一个新的文件并写入数据

- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;

从一个文件中读取数据

- (NSData *)contentsAtPath:(NSString *)path;

srcPath路径上的文件移动到 dstPath 路径上

- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;

比较两个文件的内容是否一样

- (BOOL)contentsEqualAtPath:(NSString *)path1 andPath:(NSString *)path2;

文件是否存在

- (BOOL)fileExistsAtPath:(NSString *)path;

移除文件

- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error;

二、属性列表化

iOS数据持久性的一种方式,使用方便简单快捷

只能将Bool、NSNumber、NSString、NSData、NSDate、NSArray、NSDictionary 写入属性列表plist文件


对文件内容的操作

一、NSFileHandle

1、对文件常做的处理

1)对文件内容进行读取和写入操作

2)做断点续传

2、处理文件的步骤

1)创建一个NSFileHandle对象

2)对打开的文件进行I/O操作

3)关闭文件

3、不足

只可以读写文件,不能创建文件,创建文件使用NSFileManager

二、常用方法

打开一个文件准备读取

+ (id)fileHandleForReadingAtPath:(NSString *)path;

打开一个文件准备写入

+ (id)fileHandleForWritingAtPath:(NSString *)path;

打开一个文件准备更新(读取、更新)

+ (id)fileHandleForUpdatingAtPath:(NSString *)path;

从设备或通道返回可用的数据

- (NSData *)availableData;

从当前的节点读取到文件末尾

- (NSData *)readDataToEndOfFile;

从当前节点开始读取指定的长度数据

- (NSData *)readDataOfLength:(NSUInteger)length;

写入数据

- (void)writeData:(NSData *)data;

获取当前文件的偏移量

- (unsigned long long)offsetInFile;

跳到指定文件的偏移量

- (void)seekToFileOffset:(unsigned long long)offset;

跳到文件末尾

- (unsigned long long)seekToEndOfFile;

关闭文件

- (void)closeFile;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,092评论 6 13
  • 一、iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭、安全的空间,叫做沙盒。它一...
    tzhtodd阅读 1,297评论 0 2
  • 一、iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭、安全的空间,叫做沙盒。它一...
    1d5cb7cff98d阅读 1,786评论 0 0
  • iOS开发-文件管理(一) 一、iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭...
    MacShare阅读 1,812评论 0 6
  • iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它...
    Ethan_Struggle阅读 2,273评论 2 12