IO文件中,一些对目录进行操作的函数:获取、切分、组合

一些对目录进行操作的函数:
获取用户的姓名:(NSString*)NSUserName() ;    ———>NSString *Str = NSUserName()
获取home目录路径:(NSString*)NSHomeDirectory()
获取临时文件夹路径:(NSString*)NSTemporaryDirectory()
 
一些对目录进行操作的方法:
将路径切成部分:- (NSArray *)pathComponents  ———>NSArray *paths = [path pathComponents]
将部分组合成路径:+ (NSString *)pathWithComponents:(NSArray *)components
判断是不是绝对路径:- (BOOL)isAbsolutePath
获取路径最后一部分:- (NSString *)lastPathComponent
删除最后一部分:- (NSString *)stringByDeletingLastPathComponent
获取扩展名:- (NSString *)pathExtension
删除扩展名:- (NSString *)stringByDeletingPathExtension
添加路径:- (NSString *)stringByAppendingPathComponent:(NSString *)str
添加扩展名:- (NSString *)stringByAppendingPathExtension:(NSString *)str

//1、获取home目录的路径

         NSString *homeDir = NSHomeDirectory();
NSLog(@"home:%@",homeDir);
-- ::28.727 -path[:] home:/Users/mac

//2、获取临时文件夹的路径

         NSString *tempDir = NSTemporaryDirectory();
NSLog(@"home:%@",tempDir);
-- ::28.728 -path[:] home:/var/folders/dx/481d4y4j4430hfty5zr_1gfh0000gn/T/

//3、将路径分成部分

         NSArray *paths = [tempDir pathComponents];
NSLog(@"%@",paths);
-- ::28.728 -path[:] (
"/",
var,
folders,
dx,
"481d4y4j4430hfty5zr_1gfh0000gn",
T,
"/"
)

//4、将部分再拼成路径

         NSString *path = [NSString pathWithComponents:paths];
NSLog(@"%@",path);
-- ::28.729 -path[:] /var/folders/dx/481d4y4j4430hfty5zr_1gfh0000gn/T

//5、在路径上添加文件

         NSString *fileNamePath = [path stringByAppendingPathComponent:@"1.txt"];
NSLog(@"fileName:%@",fileNamePath);
-- ::28.729 -path[:] fileName:/var/folders/dx/481d4y4j4430hfty5zr_1gfh0000gn/T/.txt

//6、获取路径的最后一部分

         NSString *fileName = [fileNamePath lastPathComponent];
NSLog(@"fileName:%@",fileName);
-- ::28.729 -path[:] fileName:.txt

//7、获取文件的扩展名

         NSString *extension = [fileNamePath pathExtension];
NSLog(@"extension:%@",extension);
-- ::28.729 -path[:] extension:txt
Program ended with exit code:

Objective-C:Objective-C:文件中一些对目录进行操作的函数的更多相关文章

  1. MATLAB 在同一个m文件中写多个独立的功能函数

    MATLAB 在同一个m文件中写多个独立的功能函数,从而实现在外部可以直接调用这个文件中的某一个函数. 鉴于MATLAB的函数文件的函数名与文件名要一样,就需要有一个统一的接口来涵盖这些功能函数. 例 ...

  2. C语言中关于对目录的操作

    原文地址:C语言中关于对目录的操作 目录的操作不论是在嵌入式产品还是应用软件编程都是必不可少的,不同的开发语言可能略有不同,笔者主要是讨论在Linux平台下对目录的一系列操作: 1.获取当前目录操作: ...

  3. [Java] 在 jar 文件中读取 resources 目录下的文件

    注意两点: 1. 将资源目录添加到 build path,确保该目录下的文件被拷贝到 jar 文件中. 2. jar 内部的东西,可以当作 stream 来读取,但不应该当作 file 来读取. 例子 ...

  4. path类和directory类对文件的路径或目录进行操作

    Path: 对文件或目录的路径进行操作(很方便)[只是对字符串的操作] 1.目录和文件操作的命名控件System.IO    2.string Path.ChangeExtension(string ...

  5. FindResource函数错误代码:1813-找不到映像文件中指定的资源类型 与LoadResource函数错误代码:1812-指定的映像文件不包含资源区域

    HRSRC WINAPI FindResource( _In_opt_  HMODULE hModule, _In_      LPCTSTR lpName, _In_      LPCTSTR lp ...

  6. js中三个对数组操作的函数 indexOf()方法 filter筛选 forEach遍历 map遍历

     indexOf()方法  indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pea ...

  7. Python中OS对目录的操作以及引用

    路径的获取 对当前目录的获取 1 path = os.getcwd() 2 print("获取到的当前目录是:({})".format(path)) 获取当前文件所在的绝对路径 i ...

  8. Objective-C声明在头文件和实现文件中的区别

    Objective-C声明在头文件和实现文件中的区别 转自codecloud(有整理) 调试程序的时候,突然想到这个问题,百度一下发现有不少这方面的问答,粗略总结一下: 属性写在.h文件中和在.m文件 ...

  9. 为什么模板函数的声明和实现都放在.h文件中

    当你不使用这个模板函数或模板类,编译器并不实例化它,当你使用时,编译器需要实例化它,因为编译器是一次只能处理一个编译单元,也就是一次处理一个cpp文件,所以实例化时需要看到该模板的完整定义.所以都放在 ...

随机推荐

  1. Web层的Controller代码逻辑

    需要做的功能: 1.数据的校验. 为什么不在后面的Service层校验呢? 原因:Service是通用的,而调用方Controller有多个,每一个Controller代表一个业务,这些业务需要校验的 ...

  2. PHP开发命名规范

    命名规范 ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范: 目录和文件 目录使用小写+下划线: 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并 ...

  3. Vue.js中 watch 的高级用法

    假设有如下代码: <div> <p>FullName: {{fullName}}</p> <p>FirstName: <input type=&q ...

  4. vue开发computed,watch,method执行的先后顺序

    1#computed:计算属性将被混入到 Vue 实例中.所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例. 2#methods:methods 将被混入到 Vue ...

  5. MySQL服务器 IO 100%的案例分析

    [问题] 有台MySQL 5.6.21的数据库实例以写入为主,IO %util接近100% 写入IOPS很高 [分析过程] 1.通过iotop工具可以看到当前IO消耗最高的mysql线程 2.查看线程 ...

  6. JAVAEE——宜立方商城12:购物车实现、订单确认页面展示

    1. 学习计划 第十二天: 1.购物车实现 2.订单确认页面展示 2. 购物车的实现 2.1. 功能分析 1.购物车是一个独立的表现层工程. 2.添加购物车不要求登录.可以指定购买商品的数量. 3.展 ...

  7. [代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)

    0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...

  8. Visual Studio 2017强制更新方法

    Visual Studio 2017强制更新方法   Visual Studio 2017更新时候,用户都是根据消息提示,进行更新.这样做的好处,就是微软可以分批下发升级包,避免集中更新.不过为了早点 ...

  9. 怎么处理stdClass::__set_state

    处理后 处理方法 function object2array_pre(&$object) { if (is_object($object)) { $arr = (array)($object) ...

  10. 【20181031T2】几串字符【数位DP思想+组合数】

    题面 [错解] 一眼数位DP 设\(f(i,c00,c01,c10,c11)\)-- 神tm DP 哎好像每两位就一定对应c中的一个,那不用记完 所以可以设\(f(i,c00,c01,c10)\)-- ...