六十八、基础框架(二十六)文件操作-路径操作

本文介绍了如何使用NSPathUtilities.h头文件中的函数和类别进行路径操作,包括获取临时目录、基本目录、完整路径、扩展名、主目录路径等,并展示了如何标准化路径名。通过实例代码演示了如何获取当前目录下文件的完整路径和处理路径中的特殊字符。

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

NSPathUtilities.h这个头文件  包含了  一些函数  和  类别。这些函数  和  类别  是  对NSString这类物件的扩展。你  可以用  这些函数  和  类别  来控制  路径名称。任何时候  只要可能  你  都应该使用  这些函数  和  类别,因为  这样做  可以使  你的程序  更少地  依赖  特定的文件系统结构  和  某些特定文件、目录的位置。下面的程序  示范了  如何使用  NSPathUtilities.h这个文件所提供的函数  和  措施:

运行  这个程序后,可以得到  这样的结果:

在这个程序当中  NSTemporaryDirectory()这个函数所产生的结果  是  临时目录的路径。在临时目录当中  你  可以创建  临时文件。如果  你  在临时目录当中  创建  文件,那么  你  必须保证  最后  将  临时文件  清理出去。同时  你  必须确保  你创建的文件之名称  是  独一无二的。

lastPathComponent这项措施  会将  其实施对象所代表的路径中  最后一个组成部分  读取出来。如果  其实施对象  为  路径“/Users/Zijin/Library/Developer/Xcode/DerivedData/Sample-bwtvtehgdvdkzgaqfkwvluuhrhso/Build/Products/Debug”,那么  最后产生的结果  就是  这个路径的最后一个组成部分,也就是  Debug。

stringByAppendingPathComponent:这项措施的实施对象  为  路径名称,而  其参数  则是  文件名称。这项措施的作用  是  将  文件名称  添加  到路径名称的结尾处。如果  这项措施的实施对象所代表的路径名称  不是  用斜杠结尾的,那么  这项措施  会  自动  在其实施对象所代表的路径名称之结尾处  加上  一个斜杠。利用  currentDirectory  和  stringByAppendingPathComponent:这两项措施  就可以得到  当前目录中任意一个文件的完整路径。

pathExtension这项措施  用来读取  其实施对象所代表的文件之扩展名。在这个程序中  pathExtension这项措施的实施对象  是  fullPath,fullPath代表的是  “/Users/Zijin/Library/Developer/Xcode/DerivedData/Sample-bwtvtehgdvdkzgaqfkwvluuhrhso/Build/Products/Debug/main.m”,那么  这项措施所产生的结果  就是  m。如果  这项措施的实施对象  没有  扩展名,那么  这项措施所产生的结果  就是  空字符串。

NSHomeDirectory()这个函数所产生的结果  为  当前用户的主目录。你  可以用  这个函数  来获取  任何一个特定用户的主目录,只要  在参数中  填上  那个用户的名称  就可以了。

pathComponents这项措施所产生的结果  为  NSArray类型的数组物件。这个数组物件  包含着  其实施对象所代表的路径之构成部分。在这个程序当中  pathComponents这项措施的实施对象  为  homeDirectory,也就是 当前用户的主目录路径。接着  用  快速枚举  将  当前用户主目录路径的构成部分  从components这个数组物件当中  依次  读取  并且  显示出来。

最后  uPath这个物件所代表的路径名称中  包含了  ~字符。在之前  我们  说过  适用于NSFileManager这类物件的措施  会接受  ~这个字符  来代替  当前用户的主目录  或者  用  ~用户名  来代表  某个特定用户的主目录。如果  某个路径名称  包含  ~这个字符,那么  可以对  这个路径名称  采取  stringByStandardizingPath这项措施,将  其  转换成  完整的路径名称。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值