六十三、基础框架(二十一)文件操作-NSFileManager这类物件

本文介绍了如何使用基础框架进行文件系统操作,包括文件的创建、读取、写入、重命名、删除、复制等,同时也涵盖了目录操作及文件属性获取等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础框架  允许  你  对  文件系统  进行访问,并且  对  文件  和  目录  进行基本的操作。你  可以对  NSFileManager这类物件  采取  各种措施  来办到  下面这些事情:

  • 创建  新文件
  • 从已经存在的文件当中  读取
  • 将  数据  写入  文件
  • 给  文件  重命名
  • 移除  文件
  • 检查  某个文件  是否存在
  • 获取  文件的大小  或  其他信息
  • 复制  文件
  • 检查  两个文件的内容  是否一致

你  也可以对  目录  进行  这些操作,比如  创建  新目录,读取  其中的内容  或者  将  其  删除。另外  你  还可以将  两个文件  链接起来,也就是  使  同样一个文件  以两个不同的名称存在  或者  同样一个文件  存在  在两个不同的目录当中。

通过对  NSFileHandle这类物件  采取  各种措施,你  可以办到  这样一些事情:

  • 打开  文件  进行  读、写  或者  使  其  保持最新
  • 在文件当中  确定  某个特定的位置
  • 从文件当中  读取  若干字节的数据  或者  将  若干字节的数据  写入  文件

NSFileManager这类物件,也就是  文件管理器物件,利用  文件的路径名称  对  文件  或者  目录  进行识别。路径名称  是  NSString类型的字符串物件。路径名称  既可以是  相对路径  也可以是  绝对路径。于是  copy1.m这个文件名  指的是  当前目录中的文件copy1.m。目录名称  与  目录名称、目录名称  与  文件名称之间  用  斜杠  分开。ch16/copy1.m这个路径名称  就是  相对路径,表明  copy1.m这个文件  包含  在ch16这个目录当中,而  ch16这个目录  又包含  在当前目录中。

绝对路径  用  斜杠/  开头。斜杠  其实  是  一个目录,叫做  底层目录  或者  根目录。在我的mac上,我的主目录的绝对路径  就是  /Users/Zijin。这个路径名称  列举出了  三个目录,它们  分别是:底层目录、Users  和  Zijin。

~这个字符  用来代表  用户主目录,比如  ~Zijin  就表示  /Users/Zijin。~/copy1.m  代表  copy1.m这个文件  存储  在当前用户的主目录当中。在使用  NSFileHandle这类物件时,其它UNIX风格的路径字符,比如  代表当前目录的.  和  代表当前目录所在的上层目录的..  都应该去掉。

在程序当中  你  尽量  应该避免  手工  输入  路径名称。基础框架  为  你  提供了  一些列的措施  或者  函数。这些措施  或者  函数  可以用来获取  当前目录、用户的主目录、临时文件夹目录  或者  文档目录。

下面这个表格中的措施  适用于  NSFileManager这类物件:

 

措施名称 描述
-(NSData *)contentsAtPath:path 从path所代表的文件中读取数据
-(BOOL)createFileAtPath:path contents:(BOOL)data attributes:attr 将数据写入文件
-(BOOL)removeFileAtPath:path handler:handler 将path所代表的文件删除
-(BOOL)movePath:from toPath:to handler:handler 移动或者重命名文件,to所代表的文件不能是已经存在的文件
-(BOOL)copyPath:from toPath:to handler:handler 复制文件,to所代表的文件不能是已经存在的文件
-(BOOL)contentsEqualAtPath:path1 andPath:path2 比较path1和path2所代表的文件
-(BOOL)fileExistsAtPath:path 检查path所代表的文件是否存在
-(BOOL)isReadableFileAtPath:path 检查path所代表的文件是否存在、是否可读
-(BOOL)isWritableFileAtPath:path 检查path所代表的文件是否存在、是否可写
-(NSDictionary *)fileAttributesAtPath:path traverseLink:(BOOL)flag 获取path所代表的文件属性
-(BOOL)changeFileAttributes:attr atPath:path 改变文件属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值